我需要将图像文件重定向到diferente文件夹。我尝试使用:
RewriteCond %{HTTP_HOST} ^example.com$ [NC] RewriteCond %{REQUEST_URI} (.*)\.(png|gif|jpg|jpeg) RewriteRule ^(.*)$ images/$1 [L]
这导致500内部服务器错误,但以下工作:
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]
我无法弄清楚为什么会这样,有什么帮助?
答案 0 :(得分:2)
由于循环,你得到500错误。 Apache继续使用mod_rewrite
模块运行重写的URI,直到它们无法匹配任何规则。
尝试使用此规则并进行更好的检查:
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteCond %{REQUEST_URI} !/images/ [NC]
RewriteRule \.(png|gif|jpe?g)$ images%{REQUEST_URI} [L,NC]
仅当URI中不存在/images/
时,才会重写图像网址。