0

我们有几个外部网站链接到我们的网站,但它们的代码格式错误并导致链接出现问题,这使得 Google 认为我们网站上的 404 比我们实际的多。

发生的事情是他们的格式错误的代码在 .html 之后添加了 ASCII 字符,这些字符代表了他们的结束锚标记。

所以,我试图在我的 htaccess 文件中做的是剥离 .html 之后的所有内容并重定向到干净的 .html URL(不会导致无限循环)。

这是即将到来的几个示例...

> http://www.site.com/pagename.html">
> http://www.site.com/pagename.html</a>

我想将它们重定向到...

http://www.site.com/pagename.html
4

1 回答 1

3

您只需要匹配那些在 之后具有.+一个或多个字符)的字符并执行重定向。.html

RewriteEngine On
# Capture everything before .html into $1 (non-greedy)
# And do a redirection appending only .html onto $1
RewriteRule (.+?)\.html.+$ http://%{HTTP_HOST}/$1.html [L,R=301]

而且由于您正在执行重定向而不是重写,因此您也可以通过以下方式执行此操作RedirectMatch

RedirectMatch permanent (.+?)\.html.+$ http://example.com/$1.html
于 2013-03-29T12:50:56.243 回答