2012-06-02 2 views
0

현재 디렉토리를 제외하고 아무것도 일치RewriteRule의 /한다 RewriteCond 도움말 - 나는 규칙을 가지고

RewriteRule ^([A-Za-z0-9-/]+)$ myFile.php?myId=$1 
나는 폴더와 파일을 (그냥 예라고 말할 수)에 액세스 할 수있게하려면

, 인덱스 그것의 .php. 그러나 규칙을 사용하면

RewriteRule ^example$ example/index.php [L] 

대신에 첫 번째 규칙과 일치합니다. 그것은 파일의 첫 번째 규칙입니다. 요청이 '/ 예'로 시작하지 않는 한, 당신은 당신의 규칙 일치를 얻을 것이다

RewriteCond %{REQUEST_URI} !^/example 
RewriteRule ^([A-Za-z0-9-/]+)$ myFile.php?myId=$1 [L] 

이 방법 :

답변

1

example URL은 example/index.php에 다시 작성하고 다시 쓰기 과정합니다 ([L] 플래그가 금지하지 않습니다)를 재 - 입력합니다. 그런 다음 다른 다시 쓰기 규칙이 일치합니다.

example/index.php에 대한 예외를 추가해야합니다. 예 :

RewriteRule ^example/index.php$ - [L] 

두 번째 다시 쓰기 실행이 종료됩니다. 다른 규칙 위에 삽입해야합니다.

0

당신은 조건을 사용할 수 있습니다. '/ example-page'와 일치하지 않도록 '/ example /'와 같은 추가 슬래시를 추가 할 수 있습니다. 당신의 재 작성 규칙이 실행 된 후

+0

좋은 아이디어이지만'/ example'을'/ example/index.php'로 다시 작성해야하기 때문에 문제가 해결되지 않습니다 – user123444555621

+0

[DirectoryIndex] (http : //httpd.apache .org/docs/2.0/mod/mod_dir.html)? –