Die Lösung per mod_rewrite hat den kleinen Schönheitsfehler, dass diese oft nicht korrekt umgesetzt werden und so oft den Pfad oder auch den Query aus der URL bei der Umleitung nicht übernehmen. Auch muss bei Änderungen am VHost die Angaben mit der Umleitung mit angepasst werden – was dann doch leider oft vergessen wird.
RewriteEngine OnDie einfachere Methode ist in diesem Fall das Modul libapache2-redirtoservname.
$ aptitude install libapache2-redirtoservnameNachdem das Modul libapache2-redirtoservname installiert und aktiviert wurde, muss noch der entsprechende VHost (in unserem Beispiel example.com) unter /etc/apache2/sites-enabled/example.com konfiguriert werden.
Zum VHost muss nun nur noch die Angabe RedirectToServerName On hinzugefügt werden.
<VirtualHost *:80>Zum Abschluss muss noch Apache mit /etc/init.d/apache2 restart neugestartet werden, damit die neuen Einstellungen aktiviert werden.
$ /etc/init.d/apache2 restartZum Testen wird das Programm curl mit -I (großes i, für Info) verwendet, um mit eine HTTP-Anfrage die Antwort des Servers zu testen. Der Server sollte dann mit dem Status HTTP/1.1 301 Moved Permanently und die Zeile Location im Header enthalten, die mit der Angabe ServerName aus der VHost-Config identisch ist.
Auch ein evtl. vom Benutzer angegebener Pfad in der Url wird korrekt weitergeleitet.
$ curl -I http://www.example.com/foo/barDieses Dokument ist unter einer Creative Commons-Lizenz lizenziert.
Dokument wurde zuletzt am Samstag den 16. Janur 2010 um 21:25 Uhr aktualisiert.