0

すべてのコンテンツをあるサイトから別のサイトにリダイレクトしようとしたときに、この問題に遭遇しました。私の http サーバーは apache で、私は mod_rewrite を使用して仕事をしています。そこで、これらのコードを httpd.conf に追加しました。

RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^/(.*) http://www.example2.com/$1 [R=301,L]

それを行った後はすべて問題ないようですが、 http://www.example.com/?word=%E5%A4%A9などの urlencoded URL にアクセスすると、Apache によってhttp://www.example2にリダイレクトされます。 .com/?word=%e5%a4%a9、ご覧のとおり、すべての urlencoded 文字が小文字に変換されているため、検索エンジンが新旧の URI の完全一致を要求するため、ドメインの変更について検索エンジンに通知することができません。 (大文字と小文字を区別)。

ところで、PHP で urlencode() 関数を使用すると、返される結果が自動的に大文字になるため、標準の URL は %E5%A4%A9 のようになります。

私はたくさんグーグルで検索しましたが、何も得られなかったので、助けを求めるためにここに来なければなりませんでした。

4

1 に答える 1

0

これが機能するかどうかはわかりませんが、試してください

RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^/(.*) http://www.example2.com/$1?%{QUERY_STRING} [R=301,L]

また

RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^/(.*) http://www.example2.com/$1 [R=301,L,NE]
于 2013-06-07T20:58:35.230 に答える