Basit apache2 bir alandan diğerine yönlendirme


28

Yapmak istediğim şey:

Etki alanım xy.example.com artık mevcut değil. Bu nedenle abc.example.com yeni alanına basit bir yönlendirme yapmak istiyorum. Http://xy.example.com/team.php - tarayıcı çubuğuna birileri yazdığında http://abc.example.com/team.php adresine yönlendirmesi gerektiğinden çalışan bir yönlendirme olmalı

Zaten birkaç şey denedim ama gerçekten işe yaramadı. Apache 2 yapılandırmasına ne koymalıyım?


3
Geç bir yorum. eğer xy.example.com artık mevcut değilse, xy.example.com için ip adresi olmadığı anlamına gelir, kimse tarayıcıda bunu yazdığında hiçbir yere gitmez. Herhangi birisinin yönlendirilmesi için oraya gitmeden önce etki alanının var olması gerekir. Eski telefon hattınıza fiziksel bir telesekreter koymak, yeni numaranızı vermek ve ardından hattın bağlantısını kesmek gibidir.
Lenne

ISPConfig yönlendirmesi için bkz. Howtoforge.com/community/threads/…
Fernando Kosh

Yanıtlar:


57

İstemciyi yeni URL'nize yönlendirmek için RedirectPermanent yönergesini kullanabilirsiniz .

Yalnızca yeni etki alanına yönlendirdiğiniz eski etki alanı için çok basit bir VirtualHost oluşturun:

<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

Bir .htaccessiçini oluşturun veya düzenleyin DocumentRoot. Eklemek

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

Ek olarak ServerNameyönergeyi yeni etki alanına değiştirir ve ServerAliaseski etki alanı ile birlikte bırakırdım.

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

1
Bunun kendi başına nasıl çalıştığını göremiyorum. Bir yönlendirme döngüsünü önlemek için bir RedirectCond! ^ Xy.example.com $ gerekir.
GeoSword
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.