我们有几个外部网站链接到我们的网站,但他们的代码格式不正确并导致链接出现问题,这使得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
答案 0 :(得分:3)
您只需要在<{em> .+
之后匹配.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