我目前更新了我们的网站,图像文件夹名称已从/img/
更改为/images/
。
我的 apache 错误日志中仍然收到来自试图访问旧/img
文件夹的机器人等的 404 错误。
我正在尝试编写一个mod_rewrite规则来重定向任何访问/img/
的尝试以引用/images/
。
这是我到目前为止得到的:
RewriteRule ^img/?(.*)$ images/$1 [R=301,L]
但是,每当我访问 http://mysite.com/img 我仍然会得到我的 404 页面(而不是我应该收到访问/images 的禁止页面)。
这是对的吗?如果这很重要,我确实有另一条规则强制使用 ssl。
非常感谢
此规则应放在根文件夹中:
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
。