2011-10-24 4 views
1

전체 정지를 허용하는 다시 쓰기 규칙이 필요합니다. 어떻게 이것을 허용 할 수 있습니까? 내가 원하는 숍/도메인입니다/www.test.com 숍/도메인/controller.php PARAM1 = www.test.com모드 다시 쓰기 - 전체 정지 허용

내가 가진 원래의 규칙은 다음과 같습니다되기 위해 :이

한다 RewriteRule^shop/domain/([^/.]+)/?$ shop/stock/controller.php? param1 = $ 1 [NC]

이 기능은 완전히 멈출 때만 작동합니다. ?

한다 RewriteRule^숍/도메인/([^ /] +)/$ 숍/도메인/controller.php PARAM1 = $ 1 NC]

이 :

은 또한 다음을 시도 풀 스톱을 허용하지만 www.test.com 일 때 controller.php가 매개 변수입니다.

답변

0

모든 도메인으로 시작하는 경우 "www가."이 도메인 인 것처럼 그것은 또한 controller.php 일치하는지 당신이 규칙의 문제가이

RewriteRule ^shop/domain/www\.([^/]+)/?$ shop/domain/controller.php?param1=$1 [NC,L] 

을 할 수 있습니다. 이를 방지하기 위해 다음과 같은 두 가지 재 작성 조건을 추가 할 수 있습니다

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^shop/domain/([^/]+)/?$ shop/domain/controller.php?param1=$1 [NC,L] 

!-d

기존 디렉토리를하지 의미 !-f는 소재 기존 파일 (예를 들어, controller.php를)하지 의미합니다.

+0

예, 감사합니다. "www."를 원하지 않으면 어떻게합니까? 나는 밑줄을 긋지 않는다. www를 포함하면 어떻게 작동 하는가? 내가 그것을 버릴 때 작동하지 않습니다. – LeeTee

+0

@ 참고이 의견에 답하기 위해 내 대답이 업데이트되었습니다. – middus

+0

예. 많은 감사합니다 – LeeTee

관련 문제