2010-12-10 3 views
0

mod_rewrite 문제가 있습니다. 또는 더 정확하게, IIS 용 mod_rewrite 복제 ISAPI_Rewrite 문제가 있습니다. 특히 IIS 7에서 실행되는 ISAPI_Rewrite v3. mod_rewrite와 동일하게 동작하기위한 것이므로 mod_rewrite에도 문제가 적용되기를 바랍니다.mod_rewrite를 사용하여 IIS의 URL을 정리하십시오.

내 문제는 다음과 같습니다. foo을 통해 액세스하려는 스크립트 bar.php이 있습니다. 먼저 foobar으로 다시 작성합니다. 그런 다음 정리 된 URL을 실제 파일 이름으로 변환 해보십시오. ${REQUEST_FILENAME} 여전히 오히려 "바"가 아닌 "foo는"말한다 때문에

RewriteRule ^foo$ bar 

RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule .* $0.php 

RewriteCond은 실패합니다. 처음 다시 작성한 후에는 업데이트되지 않습니다.

어떻게하면됩니까? 나는 이것을 간단히 RewriteRule ^foo$ bar.php이라고 쓰면 해결할 수있다. 하지만 URL 재 매핑 규칙을 파일 확장 규칙과 분리하여 보관하는 것이 좋습니다. 나는 나를 행복하게 최신 다시 작성된 URL에 접근 할 수 $0를 사용하여

답변

0

미정 대답 ...

RewriteCond %{DOCUMENT_ROOT}/$0.php -f 

. 하지만 파일 이름으로 바꾸려면 %{DOCUMENT_ROOT}을 추가해야합니다. 슬픈 표정이됩니다. kludge의 비트.

+0

아 글쎄, 이것은 내가 더 나은 답변을 제외하고 사용하고있는 것입니다! –

관련 문제