2

次のような重複した URL に問題がありました。

/term/this-is-the-term
/term/this%20is%20the%20term

すべてのリンクが-代わりに

今、私はインデックス付きのURLをリダイレクトし%20て、問題がGoogleのウェブマスターから消えます(そして実際に解決されます)

%20to を使用してURL をリダイレクトするにはどうすればよい-ですか?

私は単純なリダイレクトの基本を知っていますが、これはあまり慣れていない正規表現を使用してのみ達成できるにおいがします。

ヒントはありますか?

4

3 に答える 3

6

試す:

RewriteEngine On
RewriteRule ^(.*)\ (.*)$ /$1-$2 [L,R=301]

これにより、スペース (%20) を含むものはすべてリダイレクトされ、代わりにダッシュが使用されます。ドキュメントルート(またはこれを適用するディレクトリ)のhtaccessファイルにある他のルールの前に、そのルールを配置する必要があります。

これをクエリ文字列 ( の後のすべて?) に適用するには、何か特別なことをする必要があります。

RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)%20(.*)$
RewriteRule ^(.*)$ /$1?%1-%2 [L,R=301,NE]
于 2013-11-05T20:03:14.933 に答える
1

これを行う最良の方法は次のとおりだと思います。

Redirect 301 "/term/this is the term" "http://yourdomain.com/term/this-is-the-term"
于 2015-07-08T11:11:52.033 に答える