HTTP 301 Weiterleitungen über .htaccess einrichten

In diesem Hilfecenter-Artikel erfahren Sie, wie Sie mithilfe der Apache2 mod_rewrite Erweiterung und der .htaccess Datei HTTP 301 Weiterleitungen für Ihren Server einrichten können.


Allgemeine Einrichtung

Für die Einrichtung von mod_rewrite Regeln ist eine .htaccess Datei in Ihrem Document-Root (Stammverzeichnis) notwendig. Sofern noch keine Datei angelegt wurde, erstellen Sie bitte eine .htaccess Datei mit folgendem Inhalt:


RewriteEngine On


Tipp: Strukturieren Sie Ihre mod_rewrite Regeln, damit mehrfache 301-Weiterleitungen vermieden werden. Beispiel: Anstelle von http://domain.dehttps://domain.dehttps://ww.domain.de, sollte umgehend von http://domain.de zu https://ww.domain.de weitergeleitet werden.



Weiterleitung einzelner URLs

Um spezifische URLs weiterzuleiten, verwenden Sie bitte folgendes Schema:


Redirect 301 /alte-produkt-detailseite/ https://www.domain.de/neue-podukt-detailseite/


Beispiel: www.domain.de/alte-produkt-detailseite/ 301 → www.domain.de/neue-produkt-detailseite/


Weiterleitung einzelner Verzeichnisse

Um ganze Verzeichnisse inklusive der vorhandenen Unterverzeichnisse weiterzuleiten, verwenden Sie bitte folgende Regel:


RewriteRule ^alte-produkt-kategorie/(.*)$ /neue-produkt-kategorie/$1 [R=301,NC,L]



Weiterleitung auf www. Subdomain

Für die Weiterleitung von allen Seiten, die nicht über die www. Subdomain aufgerufen werden, verwenden Sie bitte folgende Regel:


RewriteCond %{HTTP_HOST} ^www\.domain\.de$ [NC]
RewriteRule ^(.*)$ https://domain.de/$1 [L,R=301]


Beispiel: https://domain.de/produkt-detailseite 301https://www.domain.de/produkt-detailseite



Weiterleitung auf https://

Für die Weiterleitung aller URLs auf https:// verwenden Sie bitte folgende Regeln:


RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]


Beispiele:

Quell-URL Ziel-URL
http://domain.de https://domain.de
http://www.domain.de https://www.domain.de
http://domain.de/produkt-detailseite https://domain.de/produkt-detailseite
http://www.domain.de/produkt-detailseite https://www.domain.de/produkt-detailseite



Weiterleitung auf neue Domain

Für die Weiterleitung einer ganzen Domain verwenden Sie folgende Regel, wenn die Request URI identisch bleibt:

RewriteCond %{HTTP_HOST} !^www\.alte-domain\.de$ [NC]
RewriteRule .* https://www.neue-domain.de%{REQUEST_URI} [L,R=301]



Problembehebung

Nach dem Einrichten von neuen mod_rewrite Regeln sollten diese auf alle möglichen Konstellationen geprüft werden. Hierfür eignet sich das externe Debugging-Tool https://httpstatus.io/. Tragen Sie hier alle Varianten der URL ein, um die verschiedenen Weiterleitungen zu prüfen.


Achtung: Aktuelle Browser nutzen einen internen Cache für 301-Weiterleitungen, der nicht automatisch durch das Leeren des Browser-Caches geleert wird.