-1

私には3つのドメインがあり、そのうちの2つはもう1つにリダイレクトされることになっています。

www.example.com
www.example.net
www.example.org

DNSエントリは、すべて同じIPアドレスに送信されるように設定されています。

私がしたいのは、.comと.netのURLが永続的に.orgアドレスにリダイレクトされることです。それで:

http ://www.example.com- > http://www.example.org http:
//www.example.net- > http://www.example.org
http ://example.com- > http ://www.example.org
http ://example.net- > http://www.example.org

私の.htaccessファイルには、http://httpd.apache.org/docs/2.2/rewrite/remapping.html#canonicalhostを最もよく理解してセットアップした次の構成があります。

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.example.org$ [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/?(.*)$ http://www.example.org/$1 [L,R=301]

理論的には、HTTP_HOSTがwww.example.orgではないサイトへのリクエストは、永続的にhttp://www.example.org/にリダイレクトされ、その後にURLにあった元のパスが続くはずです。 。

これは簡単で、明らかなことが欠けているだけだと思いますが、他のすべての質問と検索結果はサブドメインとファイルパスのリダイレクトについて話しているようですが、トップレベルドメインのリダイレクトについては話していません。 URL。

4

2 に答える 2

1

それは私が使用するものとほぼ同じです:

RewriteEngine on
RewriteCond  %{HTTP_HOST}   !^www.example.org$
RewriteRule ^/(.*)$ http://www.example.org/$1 [R=301,L]
于 2013-01-09T02:32:56.413 に答える
0

私は正しい軌道に乗っていたことがわかりました。私の最終的なコードは次のようになりました:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.example.org$ [NC]
RewriteRule ^(.*)$ http://www.example.org/$1 [L,R=301]

私にとっての問題の根本は、ホストが私が複数のドメインを持っていることを認識していなかったことです。そのため、解決後にリクエストがサイトに来ると、ホストはサイトが見つからないというページを表示します。そこで、example.com と example.net のサイトをホストに追加し、example.org にパークしました。

ここで何が起こったのかを私よりも他の誰かがよりよく説明できるかもしれませんが、本当の問題は書き直しではなく、私のホスティング プロバイダーにありました。

于 2013-01-09T02:51:20.170 に答える