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

の後.+(1 つ以上の文字)があるものを照合し、リダイレクトを実行するだけです。.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 に答える