2013-12-13 4 views
2

다른 이미지 파일로 리디렉션해야합니다. 나는 사용하여 시도 : 이것은 500 내부 서버 오류가 발생.htaccess RewriteRule 500 내부 서버 오류

 

    RewriteCond %{HTTP_HOST} ^example.com$ [NC] 
    RewriteCond %{REQUEST_URI} (.*)\.(png|gif|jpg|jpeg) 
    RewriteRule ^(.*)$ images/$1 [L] 

,하지만 다음 작품 :

 

    RewriteCond %{HTTP_HOST} ^example.com$ [NC] 
    RewriteCond %{REQUEST_URI} (.*)\.(png|gif|jpg|jpeg) 
    RewriteRule ^(media/1.jpg)$ images/$1 [L] 

이 또한 작동합니다

 

    RewriteCond %{HTTP_HOST} ^example.com$ [NC] 
    RewriteCond %{REQUEST_URI} (.*)\.(png|gif|jpg|jpeg) 
    RewriteRule ^(.*)$ images/media/1.jpg [L] 

나는 이유를 알아낼 수 없습니다 무슨 일이 일어나고있는거야?

답변

2

루핑으로 인해 500 오류가 발생했습니다. 아파치는 어떤 규칙과도 일치하지 않을 때까지 mod_rewrite 모듈로 재 작성된 URI를 계속 실행합니다.

더 나은 검사와 함께이 규칙을보십시오 : /images/이 URI에 존재하지 않는 경우에만

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC] 
RewriteCond %{REQUEST_URI} !/images/ [NC] 
RewriteRule \.(png|gif|jpe?g)$ images%{REQUEST_URI} [L,NC] 

이 이미지 URL을 다시 작성합니다.