301为谷歌索引的网址包含/index.php/*

时间:2012-05-13 23:05:36

标签: linux apache .htaccess mod-rewrite

我正在尝试使用301

将谷歌索引的旧网址重定向到新网址

我需要一个关于以下301的重写规则的示例? http://www .example.com/index.php/ * / */ **是通配符)到以下http://www.example.com/*/*/*

因此,当用户点击谷歌使用index.php索引的旧网址时,他们会被重定向到没有index.php的新网址。

有什么想法吗?

最好的,

1 个答案:

答案 0 :(得分:1)

您可以使用mod_alias:

RedirectMatch 301 ^/index.php/(.*)$ /$1

或使用mod_rewrite:

RewriteRule ^index.php/(.*)$ /$1 [R=301,L]

但是,请注意,如果您有重写规则重写将指向 index.php的请求,那么您将获得重定向循环。因此,您需要为规则添加条件:

RewriteCond %{THE_REQUEST} ^/index.php
RewriteRule ^index.php/(.*)$ /$1 [R=301,L]

这可确保实际请求适用于index.php,而不是内部重写的URI。