0

私は現在、リダイレクトに関するチュートリアルを行っていますが、少し混乱しています。以下は、現在のドメインへのすべてのリクエストを新しいドメインにリダイレクトすることになっています。

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

しかし、目的はHTTP_HOST何ですか?何が含まれていますか?私HTTP_HOSTには現在のホスト名が含まれていますか?(old_domain.com)したがって、上記のルールについての私の理解は、古いドメインとそれに続く古いドメインを含む文字列を再度テストしているということですか?old_domain.com/old_domain.com

そうではないですか?

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

別の例として、リクエストをどのようにリダイレクトしてmysite.com(他に何も続かないので、基本的にはインデックスページへのリクエスト)、をmysite2.com使用するようにリダイレクトしHTTP_HOSTますか?

ありがとう。

4

1 に答える 1

1

条件は、提供されたホスト%{HTTP_HOST}を古いホストと照合することです。したがって、リクエストがホスト「old_domain.com」を使用してサーバーに着信した場合は、次のルールを実行する必要があります。ホストがwww.old_domain.comであっても、それ以外の場合は、次のルールがスキップされます。

別の言い方をすれば%{HTTP_HOST}、ユーザーがサーバーに渡すものです。その条件は、ユーザーがルールを作成したものを再度提供したものをチェックします。

于 2013-03-10T17:37:18.733 に答える