htaccess重写已经被Google编入索引的重写网址

时间:2013-02-11 15:49:59

标签: .htaccess seo

示例:

1)Google(已构建不良的网址)已被Google编入索引:
www.abc.com/index.php?product=zzz

2)使用以下重写规则重写URL:
RewriteRule ^ zzz $ index.php?product = zzz [L,NC]

以上工作正常,但我们想告诉Google,该网页已永久从(1)网址www.abc.com/index.php?product=zzz中的网址移至(2)www中的网址.abc.com / ZZZ

3)所以现在我们在规则(2)之上应用以下规则:
RewriteCond%{QUERY_STRING} ^ product = zzz [NC]
RewriteRule index http://www.abc.com/zzz? [L,R = 301]

这导致无限循环。我们如何告诉Google我们的网站已从www.abc.com/index.php?product=zzz更改为www.abc.com/zzz?或谷歌会自己做这件事吗?

-----当前完整的htaccess规则导致无限循环:-----

RewriteCond%{QUERY_STRING} ^ product = zzz [NC]
RewriteRule index http://www.abc.com/zzz? [L,R = 301]

RewriteRule ^ zzz $ index.php?product = zzz [L,NC]

1 个答案:

答案 0 :(得分:0)

使用以下代码替换现有规则:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+index\.php\?product=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=301,L]

RewriteRule ^(zzz)/?$ /index.php?product=$1 [L,NC,QSA]