2

我目前已经更新了我们的网站,并且图像文件夹名称已从 更改/img//images/.

我的 apache 错误日志中仍然出现 404 错误,这些错误来自试图访问旧/img文件夹的机器人等。

我正在尝试编写一个 mod_rewrite 规则来重定向任何访问尝试/img/以引用/images/.

这是我到目前为止所得到的:

RewriteRule ^img/?(.*)$ images/$1 [R=301,L]

但是,每当我访问http://mysite.com/img时,我仍然会得到我的 404 页面(而不是访问 /images 时应该收到的禁止页面)。

这个对吗?如果这很重要,我确实有另一个强制使用 ssl 的规则。

非常感谢

4

1 回答 1

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.

于 2013-09-25T07:09:17.053 回答