2011-03-19 6 views
1

동적 페이지의 경우 모든 요청이 product.php 페이지로 이동하고 params를 통해 정렬됩니다. 규칙은 다음과 같습니다.mod_rewrite - 규칙 질문

RewriteRule ^products/([^/]+)/([^/]+)/([^/]+)$ product.php?cat_slug=$1&sub_slug=$2&product_slug=$3 [L,QSA] 
RewriteRule ^products/([^/]+)/([^/]+)$ product.php?cat_slug=$1&sub_slug=$2 [L,QSA] 
RewriteRule ^products/([^/]+)$ product.php?cat_slug=$1 [L,QSA] 

이제 다른 모든 요청을 처리하여 page.php? id = $ 1 (으)로 이동하기를 원합니다. 뭔가 같은 :

([^ /] +)이 page.php 작동하지 않습니다 불행하게도 ID = $ (1)

?. 어떤 아이디어?

답변

2

당신은 시작과 문자열의 끝과 대체 경로를 제외 지정해야합니다

RewriteCond $1 !^(page|product)\.php$ 
RewriteRule ^([^/]+)$ page.php?id=$1 
+0

거의 내 이전 제품 규칙 없음을 제외하고, 나를 위해 일한, 멋진 코드 블록으로 (지금 작업 내 질문에). 그들은 모두 product.php 대신 page.php로 이동합니다. – djt

관련 문제