2014-01-26 3 views
1

.htaccess 파일은 다음과 같습니다.다시 쓰기 규칙은 이미지 파일 요청을 방지합니다.

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^write$ /write.php [L] 
RewriteRule ^write/([^/]*)$ /write.php?bid=$1 [L] 
RewriteRule (.*)/(.*)/(.*) blog.php?author=$1&title=$2&date=$3 

문제는 이미지 파일 요청이 blog.php 파일로 리디렉션된다는 것입니다. 예를 들어 http://domainname.com/images/10005/Brooklyn-Museum.jpg 에 대한 요청은 blog.php로 리디렉션됩니다. 기존의 정적 리소스에 올바르게 액세스하려면이를 수정하는 방법?

+1

그냥 요청이 폴더'images'을 대상으로하는 경우 확인 다른 조건을 추가 할 수 있습니다. – arkascha

답변

1

이 같은 규칙을 가지고 :

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 

RewriteRule ^write/?$ /write.php [L,QSA] 

RewriteRule ^write/([^/]+)/?$ /write.php?bid=$1 [L,QSA] 

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ /blog.php?author=$1&title=$2&date=$3 [L,QSA] 
+0

정말 고마워요. 일했다. 내 코드에서 실수가 무엇인지 알 수 있습니까? –

+1

예. 문제는 귀하의 코드에서 첫 번째 규칙 만하기 전에'RewriteCond'했다. 'RewriteCond'는 그 다음의'RewriteRule'에서만 사용됩니다. 그러므로 이미지 요청 역시 마지막 규칙에 의해 재 작성되고 있습니다. – anubhava

+0

이 규칙 RewriteRule^- [L]은 무엇을 의미합니까? –

관련 문제