Wie funktioniert die Domain-Weiterleitung?
Es existieren verschiedene Optionen, eine Domain oder Subdomain auf einen beliebigen anderen Bereich der eigenen Webpräsenz oder eine externe Adresse umzuleiten. Gängig sind Domain-Weiterleitungen, auch Redirects oder URL-Weiterleitungen genannt, via .htaccess, PHP-Script, HTML-Meta-Tag und JavaScript.
Domain-Weiterleitung im Webseitenbetrieb
Grundsätzlich dienen Redirects dazu, Servern mitzuteilen, dass Webseiteninhalte von einer URL auf eine andere umgezogen sind. Dies ist vor allem dann essenziell, wenn die ursprüngliche Webadresse Ziel eines eingehenden Links ist, als Lesezeichen auf dem Rechner eines Users gespeichert wurde oder sich bereits prominent in der Suchmaschine platzieren konnte. In diesem Fall übermittelt die Weiterleitung einem Browser oder Webcrawler, dass der gesuchte Inhalt verschoben wurde, und verweist auf die neue Adresse. Andernfalls würden Webseitenbesucherinnen und -besucher statt der angeforderten Webpage lediglich eine 404-Fehlerseite angezeigt bekommen.
Vor allem bei kommerziellen Webprojekten möchte man dies natürlich verhindern. Insbesondere Onlineshops bieten ein stetig wechselndes Produktsortiment, das sich in einer Vielzahl einzelner Webpages widerspiegelt. Ist ein Artikel nicht mehr verfügbar, werden potenzielle Kundinnen und Kunden einfach auf eine Webpage mit ähnlichen Produkten weitergeleitet. So lassen sich Besucherströme effizient lenken und Absprünge minimieren.
Wenn Sie eine Domain-Weiterleitung einrichten, können Sie ein und denselben Inhalt außerdem unter verschiedenen Webadressen zugänglich zu machen. Sämtliche Alternativadressen werden dabei einfach auf die priorisierte Domain der Website umgeleitet. Eine solche All-inclusive-Domain-Weiterleitung ist unabhängig von der spezifischen URL bzw. von dem Pfad, den Nutzerinnen und Nutzern eingeben.
- Inklusive Wildcard-SSL-Zertifikat
- Inklusive Domain Lock
- Inklusive 2 GB E-Mail-Postfach
Domain-Weiterleitungsarten
Grundsätzlich unterscheidet man zwischen serverseitigen und clientbasierten Weiterleitungen. Während bei der serverseitigen Domain-Weiterleitung ein entsprechender HTTP-Status-Code an den User-Agent (Browser oder Webcrawler) übermittelt wird, erfolgen clientbasierte Weiterleitungen ohne eine solche Rückmeldung. Letztere werden daher nicht von allen User-Agents unterstützt. Unter Umständen bleiben Besucher somit auf der ursprünglich aufgerufenen Seite und werden nicht zum neuen Ziel weitergeleitet. Die serverseitige Realisation ist daher in der Regel vorzuziehen. Clientbasierte Lösungen bieten sich nur an, wenn eine serverseitige Domain-Weiterleitung aufgrund technischer Einschränkungen nicht umgesetzt werden kann.
Eine weitere Form des Redirects ist die Domain-Weiterleitung ohne URL-Änderung, die häufig auch als transparente oder unsichtbare Weiterleitung bezeichnet wird. Bei einer solchen Domain-Weiterleitung mit Maskierung wird die für den User angezeigte URL nicht geändert, obwohl der Client auf eine andere Domain weitergeleitet wurde und der Inhalt einer anderen Webpage dargestellt wird. Da es bei dieser Art der Weiterleitung jedoch Schwierigkeiten mit der Indizierung sowie der URL-Darstellung im Browser geben kann, ist sie nicht uneingeschränkt zu empfehlen.
Sie wollen eine Domain-Weiterleitung einrichten? Im folgenden Beitrag im IONOS Hilfe-Center erfahren Sie Schritt für Schritt, wie Sie Ihre Domain auf eine andere Domain weiterleiten!
Serverseitige Weiterleitung
In den meisten Fällen erfolgt die serverseitige Domain-Weiterleitung über die Konfigurationsdatei .htaccess oder über ein PHP-Script. Der Vorteil dieser beiden Methoden ist, dass man individuell definieren kann, welcher HTTP-Status-Code an den User-Agent ausgegeben werden soll. Dies ermöglicht Webseitenbetreibern, Domain-Weiterleitungen als permanent oder temporär zu kennzeichnen. Relevant sind in diesem Zusammenhang vor allem die HTTP-Status-Codes 301 und 302:
- 301 – Moved Permanently: Die vom User-Agent angeforderte Ressource ist dauerhaft unter der in der Umleitung genannten URL verfügbar. Die alte URL ist fortan ungültig. Hier ist eine 301-Weiterleitung vonnöten.
- 302 – Moved Temporarily: Die vom User-Agent angeforderte Ressource ist vorübergehend unter der in der Umleitung genannten URL verfügbar. Im Gegensatz zum 301-Code bleibt die ursprüngliche URL trotz Weiterleitung gültig.
Wird der HTTP-Status-Code nicht explizit definiert, übermittelt ein Webserver bei einer serverseitigen Weiterleitung standardmäßig den Status-Code 302. Dies ist nicht immer gewollt. Es empfiehlt sich daher, bei jeder Weiterleitung den gewünschten Status-Code manuell einzutragen, um Indexierungsfehler wie das URL-Hijacking zu vermeiden. Anders als die 301-Weiterleitung vermittelt der Status-Code 302 einem Webcrawler, dass die ursprüngliche URL weiterhin indexiert bleiben soll. Beim dauerhaften Betrieb konkurriert die Weiterleitungsadresse mit dem Weiterleitungsziel im Suchmaschinenindex.
.htaccess-Umleitung
Bei .htaccess handelt es sich um eine Konfigurationsdatei für den Apache-Webserver, mit der sich die zentrale Konfiguration auf Verzeichnisebene überschreiben lässt. Diese Datei ermöglicht es Webseitenbetreibern, verzeichnisspezifische Einstellungen für eine Domain und deren Unterverzeichnisse vorzunehmen. Eine Funktion der .htaccess-Datei ist die serverseitige Domain-Weiterleitung einzelner zu einem Webprojekt gehörender Adressen auf andere URLs.
Mithilfe von Code in der .htaccess-Datei kann man Domain-Weiterleitungen einrichten. Legt man eine .htaccess-Datei mit folgendem Code im Hauptverzeichnis an, werden Anfragen an die ursprüngliche Domain serverseitig zur Domain www.beispiel.de
umgeleitet:
Redirect 301 / http://www.beispiel.de/
apacheconfDie Codezeile beginnt mit Redirect 301
und legt damit den vom Server zu übermittelnden HTTP-Status-Code fest. Darauf folgt der Pfad zu den Inhalten, die weitergeleitet werden sollen. In diesem Fall alle, wie der Schrägstrich festlegt. Den Abschluss bildet die vollständige Adresse der Ziel-URL, auf die der User-Agent umgeleitet werden soll: http://www.beispiel.de
.
Mit dieser Methode lassen sich auch einzelne Dateien umleiten. Folgender Code zeigt eine .htaccess-Weiterleitung von einer auf andere Domain:
Redirect 301 /verzeichnis/beispiel-dokument.html http://www.beispiel.de/beispiel.html
apacheconfNach dem HTTP-Status-Code 301 wird der Verzeichnispfad der Datei genannt, die permanent umgeleitet werden soll (/verzeichnis/beispiel-dokument.html
), sowie die Adresse des Weiterleitungsziels (http://www.beispiel.de/beispiel.html
).
Auf einem Apache-Server mit aktivem mod_rewrite-Modul sähe die permanente Weiterleitung einer beispielhaften Webpage auf eine andere URL folgendermaßen aus:
RewriteEngine On
RewriteRule ^verzeichnis/beispiel-dokument.html$ http://www.beispiel.de/beispiel.html [L,R=301]
apacheconfIn Codezeile 01 wird das mod_rewrite-Modul des Apache-Webservers mit dem Befehl RewriteEngine On
aktiviert. Dann folgt eine RewriteRule
mit dem Pfad der Weiterleitungsdatei sowie der Zieladresse. Caret und Dollarzeichen markieren Anfang und Ende des Pfads, L
bezeichnet die letzte mod_rewrite-Regel für passende Anfragen. R=301
leitet mit HTTP-Status 301 weiter.
In einem weiteren Artikel haben wir für Sie einige .htaccess-Tricks zusammengestellt.
An anderer Stelle erfahren Sie mehr über Rewrite-Engines.
Bei der Konfiguration einer Domain-Weiterleitung via .htaccess ist zu beachten, dass fehlerhafte Eingaben in der Konfigurationsdatei gravierende Auswirkungen auf den Webseitenbetrieb haben. Da Änderungen direkt nach der Speicherung der .htaccess-Datei in Kraft treten, sollten entsprechende Konfigurationen in jedem Fall gründlich getestet werden.
PHP-Weiterleitung
Eine Domain-Weiterleitung kann nicht nur durch die Konfiguration via .htaccess erfolgen, sondern auch durch einen entsprechenden Befehl in einem PHP-Script (z. B. in der index.php). Folgender Code zeigt eine permanente Weiterleitung auf die fiktive Ziel-URL www.beispiel.de
.
<?php
header("Status: 301 Moved Permanently");
header("Location: http://www.beispiel.de");
exit;
?>
phpBei der Weiterleitung via PHP-Script wird der beabsichtigte HTTP-Statuscode durch die header
-Funktion in Codezeile 02 definiert. In diesem Beispiel soll eine permanente 301-Weiterleitung umgesetzt werden. Da serverseitige Weiterleitungen standardmäßig temporär ausgeführt werden, muss man die permanente Umleitung via Status-Code 301 explizit erzwingen. Die Zieladresse der Domain-Weiterleitung wird in Codezeile 03 ebenfalls mit header
hinterlegt. Die Weiterleitung im Beispiel erfolgt auf die Webadresse http://www.beispiel.de
. Die exit
-Funktion in Codezeile 04 beendet das Script und verhindert, dass ein nachfolgender Code ausgeführt wird. Damit die Weiterleitung via PHP-Script funktioniert, muss der Code-Block am Anfang stehen, bevor der Server eventuelle HTML-Inhalte auf der Weiterleitungsseite ausliefert.
Clientbasierte Weiterleitungen
Ist die serverseitige Umsetzung einer Domain-Weiterleitung aus technischen Gründen nicht möglich, können Webseitenbetreiber auf eine clientbasierte Lösung zurückgreifen. Dazu stehen das HTML-Meta-Tag refresh
sowie ein entsprechendes JavaScript zur Verfügung. Der Nachteil einer clientbasierten Weiterleitung ist, dass der Server keinen HTTP-Status-Code an den anfragenden Browser oder Webcrawler ausliefert. Dieser wird also nicht explizit auf die Weiterleitung hingewiesen. Des Weiteren werden clientbasierte Weiterleitungen nicht von allen User-Agents unterstützt, weswegen die Gefahr besteht, dass einige Seitenbesucher nicht umgeleitet werden.
Nachteilig wirken sich clientbasierte Weiterleitungen auch auf die Indexierung durch Suchmaschinen aus. Ein explizierter Ausschluss von der Indexierung durch den entsprechenden HTTP-Status-Code 301 erfolgt bei clientbasierten Weiterleitungen nicht. Daher kann es beim Suchmaschinenranking dazu kommen, dass die Weiterleitungsdomain in Konkurrenz zur Zieldomain tritt. Im Gegensatz zu serverseitigen Weiterleitungen, die für die Nutzenden abgesehen vom Adresswechsel in der Browserzeile nahezu unsichtbar bleiben, gehen clientbasierte Weiterleitungen immer mit einer Verzögerung einher, die dem Nutzenden durchaus auffallen kann.
Weiterleitung via HTML-Meta-Refresh
Die HTML-Meta-Weiterleitung wird durch Meta-Tags mit dem Attribut http-equiv
umgesetzt. Dazu müssen Sie lediglich eine einfache HTML-Datei mit dem passenden Tag im Header zur Weiterleitung erstellen. Um die Besucherinnen und Besucher Ihrer Website auf die Umleitung hinzuweisen, sollte ein entsprechender Hinweistext im HTML-Dokument angelegt werden. Gängig sind Einzeiler wie „Sie werden in wenigen Sekunden weitergeleitet“. Eine einfache Domain-Weiterleitung via HTML-Meta-Refresh auf eine fiktive Beispieladresse zeigt der folgende Code:
Durch das Meta-Tag http-equiv="refresh"
wird der Clientdazu aufgefordert, die Domain weiterzuleiten. Wie dies Weiterleitung erfolgt und wie lange die Domain-Weiterleitung dauert, lässt sich im Content-Attribut definieren. Im Beispiel ist eine Weiterleitung nach zehn Sekunden auf die Zieldomain www.beispiel.de
vorgesehen.
<meta http-equiv="refresh" content="10; url=http://www.beispiel.de/">
htmlJavaScript-Weiterleitung
Eine einfache Möglichkeit der clientbasierten Domain-Weiterleitung bietet JavaScript. Doch ähnlich wie beim Meta-Tag refresh
sollten Sie JavaScript-Weiterleitungen nur im Einzelfall verwenden, da die Skriptsprache aus Sicherheitsgründen eventuell nicht von jedem Webbrowser unterstützt wird. Probleme bereiten JavaScript-Weiterleitungen zudem für Webcrawler und Nutzer mit aktiven NoScript-Addons. Eine klassische Domain-Weiterleitung via JavaScript zeigt der folgende Code:
<script>
window.location.replace('http://www.beispiel.de');
</script>
htmlVon Bedeutung ist hier vor allem die Codezeile 02. Im Beispielcode wird das Objekt window.location
genutzt, um auf die aktuelle Webseitenadresse zu verweisen. Der Befehl replace
weist den Browser an, den Nutzenden auf die in Klammern definierte Zieldomain www.beispiel.de
weiterzuleiten.