0

.htaccess でリダイレクトhttp://domain.comする301 リダイレクトを作成しました。この方法で行いました。http://www.domain.com

Options +FollowSymlinks
RewriteEngine on
<IfModule mod_rewrite.c>
Rewritecond %{http_host} ^domain.com [nc]
Rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]
</IfModule>

私は数ヶ月前にこのコードを書きましたが、今までは問題なく動作していましたが、突然、適切にリダイレクトしている間にブラウザの履歴に 2 つの URL が表示されるようになりました。

1st url is http://domain.com

2nd url is http://www.domain.com

行を削除しましたOptions +FollowSymlinksが、まだ 2 つの URL が表示されています。

リダイレクトされた URL を取得する必要があるのに、ブラウザの履歴に 2 つの URL が表示される理由を教えてください。

ありがとう

4

1 に答える 1

0

現在、ブラウザの履歴に 2 つの URL が表示されています。おそらく、ブラウザをアップグレードしたか、ブラウザの設定を変更したか、別のブラウザを使用しているためです。このFollowSymlinksオプションは、ブラウザの履歴とは何の関係もありません。オプションがオンになっているディレクトリ内のシンボリックリンクをたどってもよいことをウェブサーバーに伝えるためです。

ブラウザの履歴に両方の URL が表示される理由は、両方の URL にアクセスしようとしているからです

に移動するhttp://domain.comと、ブラウザはホストを解決し、そのdomain.comホストにリクエストを送信します。返される応答は、基本的に「探しているものはここにはありません。http://www.domain.com代わりに移動し、次に探しているときにそこに移動し続けてくださいhttp://domain.com」です。次にブラウザはhttp://www.domain.com、ホストを解決し、そのwww.domain.comホストにリクエストを送信することで、 のリクエストを処理します。

したがって、 の閲覧履歴がありhttp://domain.comますhttp://www.domain.com

于 2013-04-03T05:04:19.090 に答える