我目前更新了我们的网站,图片文件夹名称已从/img/
更改为/images/
。
我仍在从我的apache错误日志中获取404错误,试图访问旧/img
文件夹。
我正在尝试编写mod_rewrite规则来重定向任何访问/img/
的尝试以引用/images/
。
这是我到目前为止所得到的:
RewriteRule ^img/?(.*)$ images/$1 [R=301,L]
然而,每当我访问http://mysite.com/img时,我仍然会得到我的404页面(而不是我访问/图像时应该收到的禁止页面)。
这是对的吗?如果重要的话,我确实有另一条强制使用ssl的规则。
非常感谢
答案 0 :(得分:3)
此规则应放在根文件夹中:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{DOCUMENT_ROOT}/images/$1 -d [OR]
RewriteCond %{DOCUMENT_ROOT}/images/$1 -f
RewriteRule ^img/(.*) /images/$1 [R=302,NC,L]
此规则将仅重定向http://domain.com/images
上存在的现有文件或文件夹。
请注意,自从您使用R=301
以来,您可能已经过以前的尝试缓存,因此要确保其工作尝试使用其他浏览器。
请注意,我使用R=302
来避免此缓存,一旦您确认它正在运行,请将其更改为R=301
。