mod_rewrite重新映射文件夹



我目前更新了我们的网站,图像文件夹名称已从/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

最新更新