1つのドメインから別のドメインへの単純なapache2リダイレクト


28

私がやりたいことは次のとおりです:

私のドメインxy.example.comはもう存在しません。したがって、新しいドメインabc.example.comへの単純なリダイレクトを行いたいと思います。これはリダイレクトである必要があります。ブラウザバーにhttp://xy.example.com/team.phpと入力しても機能します。http: //abc.example.com/team.phpにリダイレクトする必要があります

私はすでにいくつかのことを試しましたが、それは実際には機能しませんでした。Apache 2の設定に何を入れる必要がありますか?


3
遅いコメント。xy.example.comがもう存在しない場合、xy.example.com のIPアドレスが存在しないことを意味する場合、ブラウザでそれを入力しても誰も行きません。ドメインは、リダイレクトされるためにそこに行く前に存在していなければなりません。古い電話回線に物理的な留守番電話をかけ、新しい番号を入力してから回線を切断するようなものです。
レンネ

回答:


57

RedirectPermanentディレクティブを使用して、クライアントを新しいURLにリダイレクトできます。

古いドメイン用に非常にシンプルなVirtualHostを作成して、新しいドメインにリダイレクトします。

<VirtualHost *:80>
    ServerName xy.example.com
    RedirectPermanent / http://abc.example.com/
    # optionally add an AccessLog directive for
    # logging the requests and do some statistics
</VirtualHost>

12

を作成または編集し.htaccessますDocumentRoot。追加する

RewriteEngine On
RewriteRule ^(.*)$ http://abc.example.com/$1 [R=301,L]

さらに、ServerNameディレクティブを新しいドメインに変更ServerAliasし、古いドメインのままにします。

ServerName abc.example.com
ServerAlias xy.example.com

1
これがどのように機能するかはわかりません。転送ループを防ぐには、RedirectCond!^ xy.example.com $が必要です。
GeoSword
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.