Domain-Weiterleitung: So geht’s einfach.
Es gibt verschiedene Wege, eine Domain oder Subdomain auf einen anderen Bereich deiner Website oder eine externe Adresse umzuleiten. Standardmäßig nutzt man für solche Domain-Weiterleitungen (auch Redirects oder URL-Forwarding genannt) .htaccess, PHP-Scripte, HTML-Meta-Tags oder JavaScript.
Domain-Weiterleitungen im Web-Alltag
Im Grunde sagen Redirects dem Server: „Diese Inhalte sind von URL A nach URL B umgezogen.“ Das ist besonders wichtig, wenn die alte Adresse verlinkt ist, als Lesezeichen gespeichert wurde oder bereits gute Rankings in Suchmaschinen hat. Die Weiterleitung signalisiert dem Browser oder Webcrawler direkt den neuen Speicherort. Ohne diesen Hinweis würden deine Besucher:innen statt der gewünschten Seite nur eine 404-Fehlerseite sehen.
Gerade bei geschäftlichen Webprojekten gilt es, das zu vermeiden. Onlineshops zum Beispiel ändern ihr Sortiment laufend. Ist ein Produkt ausverkauft, leitest du Interessierte einfach auf eine Seite mit ähnlichen Artikeln weiter. So lässt du den Besucherstrom glatt laufen und verhinderst unnötige Absprünge.
Mit einer Domain-Weiterleitung kannst du denselben Inhalt zudem unter verschiedenen Adressen erreichbar machen. Alle alternativen Domains führen dann einfach zur Hauptdomain deines Projekts. So eine pauschale Weiterleitung funktioniert unabhängig vom exakten Pfad, den jemand im Browser eingibt.
Arten von Domain-Weiterleitungen
Man unterscheidet primär zwischen serverseitigen und clientbasierten Umleitungen. Bei der serverseitigen Domain-Weiterleitung wird ein HTTP-Status-Code an den Browser oder Webcrawler gesendet. Clientbasierte Weiterleitungen kommen ohne diese Rückmeldung aus und werden daher nicht von allen Systemen unterstützt. Im schlimmsten Fall bleiben Nutzer:innen auf der alten Seite hängen. Deshalb ist die serverseitige Lösung fast immer die bessere Wahl. Clientbasierte Varianten sind eher ein Notbehelf, falls technische Hürden im Weg stehen.
Eine Spezialform ist der transparente Redirect (auch Maskierung genannt). Hier ändert sich die URL in der Adresszeile nicht, obwohl der Inhalt von einer anderen Domain geladen wird. Da dies oft Probleme bei der Indexierung und der Darstellung im Browser verursacht, ist diese Methode nur bedingt ratsam.
Serverseitige Weiterleitung
Meistens wird eine serverseitige Umleitung via .htaccess oder per PHP-Script gelöst. Der große Pluspunkt: Du legst genau fest, welcher HTTP-Status-Code gesendet wird. So definierst du, ob ein Umzug dauerhaft oder nur vorübergehend ist. Besonders wichtig sind dabei diese HTTP-Status-Codes:
- 301 – Moved Permanently: Die Inhalte sind dauerhaft unter der neuen Adresse zu finden. Die alte URL verliert ihre Gültigkeit. Hier ist der 301-Redirect der Goldstandard.
- 302 – Moved Temporarily: Die Inhalte sind nur kurzzeitig woanders geparkt. Die ursprüngliche URL bleibt offiziell bestehen.
Ohne manuelle Festlegung senden Webserver oft standardmäßig den Code 302. Das ist nicht immer ideal. Um Indexierungsfehler wie das URL-Hijacking zu vermeiden, solltest du den Code händisch definieren. Ein 302-Code signalisiert Crawlern nämlich, dass die alte URL im Suchindex bleiben soll. Bei einem dauerhaften Umzug würden so beide Adressen um die Plätze in der Suchmaschine konkurrieren.
Umleitung via .htaccess
Die .htaccess ist eine Konfigurationsdatei für Apache-Webserver. Mit ihr kannst du Einstellungen direkt auf Verzeichnisebene steuern, ohne die Hauptkonfiguration des Servers zu ändern. Ein klassischer Einsatzbereich ist das Umleiten einzelner Pfade oder ganzer Domains.
Mit ein wenig Code in der .htaccess richtest du deine Weiterleitung ein. Wenn du die Datei mit folgendem Inhalt im Hauptverzeichnis platzierst, landen alle Anfragen für die alte Domain automatisch bei www.beispiel.de:
Redirect 301 / http://www.beispiel.de/apacheconfDer Befehl startet mit Redirect 301, was den Status-Code festlegt. Danach folgt der Quellpfad (der Schrägstrich steht für alles). Den Abschluss bildet die komplette Ziel-URL: http://www.beispiel.de.
Auch einzelne Dateien lassen sich so verschieben. Hier ein Beispiel für die Umleitung einer spezifischen Datei:
Redirect 301 /verzeichnis/beispiel-dokument.html http://www.beispiel.de/beispiel.htmlapacheconfNach dem Code 301 steht der Pfad der alten Datei (/verzeichnis/beispiel-dokument.html), gefolgt von der neuen Zieladresse (http://www.beispiel.de/beispiel.html).
Nutzt dein Apache-Server das mod_rewrite-Modul, sieht eine permanente Umleitung so aus:
RewriteEngine On
RewriteRule ^verzeichnis/beispiel-dokument.html$ http://www.beispiel.de/beispiel.html [L,R=301]apacheconfIn Zeile 01 wird das Modul via RewriteEngine On scharf geschaltet. Danach folgt die RewriteRule mit Quellpfad und Ziel. Sonderzeichen wie Caret und Dollar definieren den exakten Pfad, während L die Regel abschließt. R=301 sorgt für den korrekten 301-Status.
Achtung: Fehler in der .htaccess können deine Website komplett lahmlegen. Da Änderungen sofort nach dem Speichern aktiv werden, solltest du deine Konfiguration immer sofort prüfen.
Weiterleitung mit PHP
Alternativ zur .htaccess kannst du einen Redirect direkt in ein PHP-Script (etwa die index.php) schreiben. Hier ein Beispiel für einen permanenten Umzug auf www.beispiel.de:
<?php
header("Status: 301 Moved Permanently");
header("Location: http://www.beispiel.de");
exit;
?>phpÜber die header-Funktion in Zeile 02 setzt du den HTTP-Status auf 301. Da PHP-Umleitungen normalerweise temporär sind, muss man die permanente Variante explizit angeben. Die Ziel-URL wird in Zeile 03 ebenfalls per header definiert (hier http://www.beispiel.de). Das exit in Zeile 04 stoppt das Script sofort, damit kein weiterer Code mehr geladen wird. Wichtig: Dieser Block muss ganz oben stehen, noch bevor der Server irgendwelchen HTML-Code ausgibt.
Clientbasierte Lösungen
Falls serverseitige Optionen wegfallen, gibt es clientbasierte Auswege: das HTML-Meta-Tag refresh oder JavaScript. Der Haken: Der Server sendet keinen Status-Code. Browser und Crawler wissen also nicht offiziell Bescheid. Zudem ignorieren manche Programme diese Befehle, was dazu führen kann, dass Nutzer:innen im Leeren landen.
Auch für die Suchmaschinenoptimierung sind diese Methoden suboptimal. Ohne den 301-Status konkurrieren Quell- und Zielseite oft im Ranking. Während serverseitige Wechsel für User fast unbemerkt ablaufen, bemerkt man bei clientbasierten Lösungen meist eine kurze Verzögerung.
Umleitung per HTML-Meta-Refresh
Hier nutzt man Meta-Tags mit dem Attribut http-equiv. Du erstellst eine schlichte HTML-Datei mit dem Tag im Header. Ein kurzer Text wie „Du wirst in wenigen Augenblicken weitergeleitet“ hilft deiner Kundschaft, sich zu orientieren. So sieht der Code für einen Meta-Refresh aus:
Das Tag http-equiv="refresh" weist den Browser an, die Domain zu wechseln. Wann und wohin es geht, steht im Content-Attribut. Im Beispiel erfolgt der Sprung nach zehn Sekunden zur Adresse www.beispiel.de.
<meta http-equiv="refresh" content="10; url=http://www.beispiel.de/">htmlJavaScript-Redirect
JavaScript ist ein weiterer Weg für clientseitige Umleitungen. Aber Vorsicht: Genau wie beim refresh-Tag solltest du JavaScript nur sparsam einsetzen. Manche Browser oder Sicherheits-Addons blockieren die Skriptsprache. Auch Webcrawler haben damit oft ihre Not. So sieht die Umsetzung aus:
<script>
window.location.replace('http://www.beispiel.de');
</script>htmlEntscheidend ist Zeile 02. Das Objekt window.location greift die aktuelle Adresse auf, während der Befehl replace den Browser anweist, zur Zieladresse www.beispiel.de zu springen.