由于使用了相对网址,Google Crawler错误地将我们的网站编入索引。 在对Google中的索引网址进行彻底分析之后,我们得出的结论是,我们应该通过采用Trailing Slash之后的部分重定向URL,但有一些例外。因此,我们尝试将以下许多网址放在下面,以及如何将它们重定向到。
/a.php/ - Redirect to /a.php
/a.php// - Redirect to /a.php
/a.php - Retain as it is
/a.html - Retain as it is
/a.php/a.html - Redirect to /a.html
/a.php/b.php?a=b - Redirect to /b.php?a=b
/a.html/b.php - Redirect to /b.php
/a.html/b.php/c.html - Redirect to /c.html
/a.php/b.php?a=b/c.php?a=b - Redirect to /c.php?a=b
/a.html/b.php - Redirect to /b.php
请注意,/ index.php已重定向到www.domain.com 你能帮我们提供一个htaccess代码,我们可以使用它来实现这些重定向
答案 0 :(得分:1)
我相信这应该有效:
# This should match the first two
RewriteCond %{THE_REQUEST} (/[^/]+)(/+) HTTP/1\.[01]$
RewriteRule .* %1 [L,R=301]
# This should match the rest, without matching /a.php and /a.html
RewriteCond %{THE_REQUEST} !^[A-Z]+ /[^/]+ HTTP/1\.[01]$
RewriteCond %{THE_REQUEST} ^[A-Z]+ (/[^/]+)?(/[^/]+)(/[^/]+) HTTP/1\.[01]$
RewriteRule .* %3 [L,R=301]