Простое перенаправление apache2 с одного домена на другой

28

Я хочу сделать следующее:

Мой домен xy.example.com больше не существует. Поэтому я хочу сделать простое перенаправление на новый домен abc.example.com. Это должен быть редирект, который также работает, когда кто-то печатает на панели браузера http://xy.example.com/team.php, а не перенаправляет на http://abc.example.com/team.php

Я уже попробовал несколько вещей, но это не сработало. Что я должен поставить в конфиге Apache 2?

JohnnyFromBF
источник
3
Поздний комментарий. Если xy.example.com больше не существует , что означает отсутствие ip-адреса для xy.example.com, никто не пойдет никуда, когда они введут его в браузере. Домен должен существовать, прежде чем кто-либо сможет перейти туда, чтобы быть перенаправленным. Это как поставить физический автоответчик на старую телефонную линию с новым номером, а затем отключить его.
Ленн
О переадресации ISPConfig см. На странице howtoforge.com/community/threads/…
Фернандо Кош

Ответы:

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>
Joschi
источник
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