我正在使用;
RewriteRule ^link1/([^/]*)/([^/]*)/link2-/([^/]*)$ link.php?var1=$1&var2=$2&var3=$3
上周我已将我的站点地图发送给Google,但我意识到我已使用link2*
而不是link2-
,所以我需要将所有目录link2-
重定向到{{1}与301。
link2*
应该使用301重定向到
http://www.domain.com/link1/link2-/var1/var2/var3
现在我们的网站都列出了link2-和link2 *我们知道谷歌不喜欢重复页面。
当我这样做时
http://www.domain.com/link1/link2*/var1/var2/var3
重定向到
RedirectMatch 301 /link1/link2-/var http://www.domain.com/link1/link2*/var
表示重定向与重写混合......
我知道这有点复杂,但我真的需要帮助......
答案 0 :(得分:0)
在这种情况下,您不想使用RedirectMatch
,因为它是一个不同的模块(mod_alias),它将与您的所有mod_rewrite规则一起应用并导致冲突。改为使用mod_rewrite:
RewriteRule ^(.*)/link2-(.*)$ /$1/link2*$2 [L,R=301]
*
最终会被浏览器编码,但它看起来像是:%2A
答案 1 :(得分:0)
我使用了标题(“HTTP / 1.1 301永久移动”);用PHP而不是htaccess希望它不会成为谷歌的问题.. Thx