FAQ
Wie kann man URLs auf andere URLs umleiten?
Hierfür gibt es mehrere Möglichkeiten. Betrachten wir die drei Wichtigsten.
Die erste Version ist das sogenannte 'Client Pull'. Sie platzieren in Ihrer alten Seite einfach einen besonderen HTML-Tag, der für diese Weiterleitung sorgt. Wenn Sie von www.abc.com zu www.xyz.com umgezogen sind, stellen Sie das folgende Dokument auf den www.abc.com-Server:
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://www.xyz.com">
<html>
<head>
<title>We moved!<title>
<head>
<body>
Sorry! Wir sind umgezogen nach:
<a href = "http://www.xyz.com">http://www.xyz.com<a>
<body>
<html>
Der META-Tag HTTP-EQUIV="Refresh" sorgt dafür, dass der Browser in einer bestimmten Zeit eine bestimmte Adresse aufsucht (hier: Zeit=0 Sekunden und Adresse=http//www.xyz.com). Für den Fall, dass ein besonder alter Browser benutzt wird, der diesen Tag nicht kennt, findet man noch einen Link in der Seite.
Die zweite wichtige Variante ist die Redirect-Direktive in der httpd.conf Datei Ihres Apache Webservers. Hier wird an einer zentralen Stelle die Möglichkeit gegeben, dass jeder Aufruf in einem bestimmten Verzeichnisses in ein anderes Verzeichnis umgelenkt wird.
Redirect /alt /neu
Der obige Eintrag leitet alle Anfragen vom /alt-Verzeichnis auf das /neu-Verzeichnis um. Dieser Eintrag darf in u.a. in einem VirtualHost Eintrag und einer .htaccess Datei stehen.
Ein beispielhafter VirtualHost Eintrag sieht dann z.B. wie folgt aus:
<VirtualHost 216.17.18.19>
ServerAdmin webmaster@domain.com
Redirect / http://www.domain.de
DocumentRoot /home/httpd/docs/domain
ServerName www.domain.com
ServerAlias domain.com www.domain.com
</VirtualHost>
In diesem Beispiel werden alle http-Anfragen an "domain.com www.domain.com" auf "http://www.domain.de" umgeleitet.
Die dritte und mächtigste Möglichkeit ist die Nutzung des mod_rewrite Modules des Apache-Servers. Um hier alle Möglichkeiten auszuschöpfen und möglichst wenig Fehler zu machen, gehört deutlich mehr Wissen als bei den vorherigen Methoden. Dafür sind die Fähigkeiten fast unbegrenzt. Es können Wildcards, Muster und viele weitere Optionen genutzt werden. Dies alles zu erläutern, würde den Rahmen hier leider sprengen.
Eine simple Umleitung aller Zugriffe zu einer bestimmten (anderen) Domain kann man z.B. so machen:
RewriteEngine On
RewriteRule ^(.*)$ www.domain.de/$1 [L,R=301]
Diesen Eintrag kann man im VirtualHost der Domain eintragen, die umgeleitet werden soll.
Was häufiger vorkommt, ist Folgendes - Sie haben zwei oder mehrere Domains in einem VirtualHost, die alle das gleiche DocumentRoot, also den gleichen Inhalt haben. Sie wollen aber, dass alle Besucher im Browser immer mit einer bestimmten Domain aktiv sind. Dann fügen Sie folgendes in die .htaccess im DocumenRoot der Domains ein:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domain.de$
RewriteRule ^(.*)$ www.domain.de/$1 [L,R=301]
Das bedeutet, dass alles, was noch nicht mit www.domain.de ankommt (sondern z.B. domain.ch, domain.at) direkt auf www.domain.de umgeleitet wird. Auch wird z.B. www.domain.ch/ordner/datei.php direkt auf www.domain.de/ordner/datei.php umgeleitet, so dass der Inhalt wie erwartet ist, jedoch mit der von Ihnen gewünschten URL.
Ein guter Start zum Erlernen der Möglichkeiten finden Sie hier (Apache 2.2) bzw. hier (Apache 2.4). Bei Konkreten Fragen zu mod_rewrite helfen unsere Spezialisten aus dem Support jederzeit gerne weiter.
Sie brauchen Hilfe?
0421 4089-000