2011-08-18 5 views
0

htaccess mod_rewrite에 문제가있어 php 파일이 직접 실행되는 것을 방지합니다.Htaccess mod_rewrite가 PHP 파일 실행을 막습니다.

사이트가 MVC 프레임 워크에서 실행되고있는 것으로 보입니다 (불행히도 100 % 확신 할 수 없음). 요청은 라우터 클래스를 통해 전송됩니다. 라우팅에서 제외하고 해당 파일을 직접 실행하도록 할 하위 디렉토리가 있습니다. 여기

내 현재 htaccess로 파일 : 나는 다음 줄을 직접 실행 할 하위 디렉토리를 제외하고 시도

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA] 

하지만 차이하지 :

RewriteCond %{REQUEST_URI} !^subdir/(.*) 

어떤 방법이 있나요을 내가 직접 subdir에서 PHP 파일을 실행할 수 있습니까? 어떤 도움을 주셔서 감사합니다, 감사합니다.

+0

대신 패턴에'! ^/subdir'을 사용해보십시오. –

+0

안녕하세요, 시도했습니다! ^/subdir/같은 결과가 있습니다. – Terry

답변

0

RewriteCond %{REQUEST_URI} !^/subdir/을 사용해 보셨나요? REQUEST_URI는 /으로 시작될 수 있습니다.

+0

안녕하세요, 저는 시도했습니다! ^/subdir/같은 결과가 있습니다. – Terry

+0

또한 htaccess 파일을 완전히 삭제하려고 시도했지만 여전히 오류가 발생합니다. 문제를 일으키는 내용이 무엇인지 최종 확인하기 위해 호스트에 전자 메일을 보냈습니다. – Terry

0
RewriteCond %{REQUEST_FILENAME} !-f 

이 줄을 사용하면 파일을 직접 실행할 수 있습니다. 오류 500이 발생하면 스크립트에 치명적인 오류/잡히지 않은 예외가 있는지 확인하십시오.

관련 문제