2014-12-22 2 views
0

오래된 URL을 새 URL로 리디렉션하는 중입니다..htaccess 매개 변수가있는 URL에서 리디렉션

동적으로 다음과 같은 세 가지의 RewriteRules를 사용하여 제품 페이지 URL을 생성합니다

# PRODUCT SUB-CATEGORY REDIRECT -- Must follow syntax: domain.com/products/CATEGORY/SUB-CATEGORY 
RewriteRule ^products/([^/]*)/([^/]*)$ /product-subcategory.php?category=$1&sub-category=$2 [QSA,NC,L] 

# PRODUCT CATEGORY REDIRECT -- Must follow syntax: domain.com/products/CATEGORY 
RewriteRule ^products/([^/]*)$ /product-category.php?category=$1 [QSA,NC,L] 

# PRODUCT CATEGORY REDIRECT WITH PAGE NUMBER 
RewriteRule ^products/([^/]*)/page/([^/]*)$ /product-category.php?category=$1&page=$2 [QSA,NC,L] 

위의 방법이 제대로 작동합니다. 성공하지,

http://example.com/products/standard-cabinets 

나는이 RewriteRule 시도 : 새로운 페이지로

http://example.com/company/categories.cfm?c=Standard_Cabinet 

, 여기에 표시 :

지금, 나는 여기에 표시된 이전 URL 구조를 리디렉션하려고

RewriteRule ^company/categories.cfm?c=Standard_Cabinet$ http://www.example.com/products/standard-cabinets [R=301,NC] 

계속 404 페이지로 리디렉션됩니다. 나는 이전 URL이

답변

1

를 사용하여 매개 변수 유지할 필요가 없습니다 :

RewriteCond %{QUERY_STRING} ^c=Standard_Cabinet$ [NC] 
RewriteRule ^company/categories\.cfm$ http://www.example.com/products/standard-cabinets? [R=301,NC] 
+1

딱! 감사! – adamdehaven

+0

환영합니다. 다행입니다. – Croises

관련 문제