例子:
1) 网址(结构不佳)已被 Google 索引:
www.abc.com/index.php ?product=zzz
2) 使用以下重写规则重写 URL:
RewriteRule ^zzz$ index.php?product=zzz [L,NC]
上述工作正常,但我们想告诉 Google 该页面已从 (1) URL www.abc.com/index.php?product=zzz 中的 URL 永久移动到 (2) www.abc 中的 URL。 com/zzz
3)所以现在我们在规则(2)之上应用以下规则:
RewriteCond %{QUERY_STRING} ^product=zzz [NC]
RewriteRule index http://www.abc.com/zzz?[左,右=301]
这会导致无限循环。我们如何告诉 Google 我们的网站已从 www.abc.com/index.php?product=zzz 更改为 www.abc.com/zzz?或者谷歌会自己做这件事吗?
-----当前完整的htaccess规则导致无限循环:-----
RewriteCond %{QUERY_STRING} ^product=zzz [NC]
RewriteRule 索引http://www.abc.com/zzz ? [左,右=301]
RewriteRule ^zzz$ index.php?product=zzz [L,NC]