Proste przekierowanie apache2 z jednej domeny do drugiej

28

To, co chcę zrobić, to:

Moja domena xy.example.com już nie istnieje. Dlatego chcę zrobić proste przekierowanie do nowej domeny abc.example.com. Powinno to być przekierowanie, które działa również, gdy ktoś pisze w pasku przeglądarki http://xy.example.com/team.php - niż powinno przekierowywać na http://abc.example.com/team.php

Próbowałem już kilku rzeczy, ale tak naprawdę to nie działało. Co muszę umieścić w konfiguracji Apache 2?

JohnnyFromBF
źródło
3
Późny komentarz. jeśli xy.example.com już nie istnieje, co oznacza, że ​​nie ma adresu IP dla xy.example.com, nikt nie pójdzie nigdzie po wpisaniu tego w przeglądarce. Domena musi istnieć, zanim ktokolwiek będzie mógł się tam przekierować. To tak, jakby umieścić starą automatyczną sekretarkę na starej linii telefonicznej, podając nowy numer, a następnie rozłączyć linię.
Lenne,
Informacje na temat przekierowania ISPConfig można znaleźć w howtoforge.com/community/threads/…
Fernando Kosh

Odpowiedzi:

57

Możesz użyć dyrektywy RedirectPermanent, aby przekierować klienta do nowego adresu URL.

Po prostu utwórz bardzo prosty VirtualHost dla starej domeny, w której przekierujesz go do nowej domeny:

<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
źródło
12

Utwórz lub edytuj .htaccesswnętrze swojego DocumentRoot. Dodaj

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

Dodatkowo zmieniłbym ServerNamedyrektywę na nową domenę i zostawiłbym ServerAliasze starą domeną.

ServerName abc.example.com
ServerAlias xy.example.com
Chris
źródło
1
Nie wiem, jak to by działało samo z siebie. RedirectCond! ^ Xy.example.com $ jest wymagany, aby zapobiec pętli przekazywania.
GeoSword,