2015-01-12 9 views
2

작은 질문이 있습니다. 시스템을 구축했으며 .htaccess를 사용하여 트래픽을 올바른 위치로 전달합니다..htaccess 다시 쓰기 규칙 예외

지금 내가 가지고있는 다음의 .htaccess 데이터

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteRule ^$ core/ [L] 
RewriteRule (.*) core/$1 [L] 
///### (does not work.. this is a problem) RewriteRule (.*) app/template/ !page [L] 
</IfModule> 

문제는 내가 /응용 프로그램/템플릿에 위치한 .css 파일을 표시 할 때 그것은 또한 /코어/로 리디렉션하는 것이 실제로

나는 예외를 만들려고 노력했다. 그러나 그것은 실제로 내 방식으로 작동하지 않는 것 같습니다.

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^$ core/ [L] 
    RewriteRule (.*) core/$1 [L] 
    RewriteRule (.*) app/template/ !page [L] 
</IfModule> 

.htaccess는 500 오류를 제공합니다. 누구나 내가 뭘 잘못하고 있다고 말할 수 있습니까? 그리고 템플릿 디렉토리에 대한 예외 작업을 어떻게 만들 수 있습니까?

TIAD !!

답변

3

당신은 사용해야합니다! '한다 RewriteCond % {REQUEST_FILENAME}이 -d` :

<IfModule mod_rewrite.c> 
    RewriteEngine on 

    RewriteRule ^$ core/ [L] 

    # If the request is not for a valid directory 
    RewriteCond %{REQUEST_FILENAME} !-d 
    # If the request is not for a valid file 
    RewriteCond %{REQUEST_FILENAME} !-f  
    RewriteRule (.*) core/$1 [L] 

</IfModule> 
+0

당신이이'-d'이 줄을 무엇 세부 사항을 적어주세요 수 있습니까? –

+0

나는 위의 내 의견에 이미 포함되어 있습니다. 즉, ** 해당 요청이 유효한 디렉토리가 아닌지 확인합니다. ** – anubhava

+0

플래그의 구조를 이해하려고 시도 했습니까? 자체 - 즉 - 플래그입니까? 그것은 그 주위에'[..]'을 가지고 있지 않습니까? –