Weiterleitung verstehen und einrichten

Was ist eine Weiterleitung oder ein Redirect?

Eine Weiterleitung bzw. oftmals auch mit dem englischen Wort “Redirect” bezeichnet, ist eine Umleitung von A nach B. Dies kann eine Umleitung einer ganzen Homepage auf eine neue Domain sein oder nur ein einzelner Link der nun unter einer anderen URL erreichbar ist.

Beispiel 1: Meine Adresse war lange Zeit unter www.moshoots.at erreichbar. Nun habe ich die Domain auf www.osanger.at umgestellt und ich möchte, dass die Benutzer die noch die alte Domain verwenden, dennoch auf meine neue Domain weitergeleitet werden.
Beispiel 2: Ich habe nun ein SSL-Zertifikat hinterlegt und meine Homepage ist nun auch verschlüsselt via HTTPS erreichbar. Nun möchte ich, dass jeder Benutzer automatisch von HTTP auf HTTPS weitergeleitet wird.

Was macht die Weiterleitung?

Die Weiterleitung sorgt dafür, dass der Nutzer beim Eingeben der alten URL oder Klicken auf einen alten Link, nicht auf einer Fehlerseite landet, sondern direkt zu dem Artikel unter der neuen Adresse weitergeleitet wird ohne das dieser etwas tun muss.

Welche Arten von Weiterleitungen gibt es?

Eine Weiterleitung wird normalerweise durch einen Status Code der bei einem HTTP Request zurückkommt eingeleitet. Dort gibt es verschiedene Möglichkeiten von Status Codes die eine Weiterleitung definieren.

Status Code Version Dauer
301 HTTP/1.0 Permanent
302 HTTP/1.0 Temporary
303 HTTP/1.1 Temporary
307 HTTP/1.1 Temporary
308 HTTP/1.1 Permanent

 

Die Status Codes 302, 303, 307 sind nur temporär, das heißt die Seite ist irgendwann wieder unter der aktuellen URL erreichbar.

Die Status Codes 301 und 308 hingegen sagen aus, dass die URL künftig nur mehr über die neue URL erreichbar ist.

Was ist der Unterschied zu 301 und 308?

Bei einem Redirect 301 kann sich auch der Request Typ von POST auf GET bzw. umgekehrt ändern, Bei 308 hingegen muss dieser Typ gleich sein, wie beim ersten Request.

Wie kann ich eine 301-Weiterleitung einrichten?

Eine 301-Weiterleitung wird durch eine Konfiguration in der .htaccess Datei (nur auf Apache Servern verfügbar) eingerichtet. Wie auch schon in meinem Artikel HTTP to HTTPS beschrieben, sollte man vor einer Änderung an dieser Datei immer ein Backup machen. Da ein kleiner Fehler im Code zu einem Totalausfall der Webseite führen kann.

Wenn man nun eine Weiterleitung definieren möchte, benötigt man ein Programm mit welchem man die Datei bearbeiten kann. Dazu eignen sich FTP Programme, mit welchen man die Datei direkt am Server bearbeiten kann oder eventuell bietet der Hosting Provider dafür eine WebFTP Lösung an. Die .htaccess Datei befindet sich normalerweise im Hauptverzeichnis des jeweiligen CMS Systems in meinem Fall im Hauptverzeichnis von WordPress. Nachfolgend ein paar Codezeilen mit einer kurzen Beschreibung was sie bewirken:

  • Umleitung von einer Seite auf eine andere Seite:
    • Redirect /alte_datei.html    https://www.meine-domain.at/verzeichnis/neue_datei.html
  • Dauerhafte Weiterleitung meiner alten Domain auf meine neue Domain (2 Beispiele):
    • Redirect 301 / https://www.neue-domain.at
    • RewriteEngine On
      RewriteBase /
      RewriteCond %{HTTP_HOST} !alte-domain.at$ [NC]
      RewriteRule ^(.*)$ https://www.neue-domain.at/$1 [L,R=301]
  • Umleitung einer Datei auf ein Unterverzeichnis
    • Redirect /index.html https://www.meine-domain.at/verzeichnis
  • Umleitung auf einen Dateipfad
    • Redirect /verzeichnis1/index.html https://www.meine-domain.at/verzeichnis2/index.html
  • Umleitung aller HTML-Seiten auf PHP-Seiten
    • RedirectMatch 301 (.*)\.html$ https://www.meine-domain.at$1.php
  • Festlegung der Standardseite
    • DirectoryIndex index.php
  • Umleitung von www auf NON-www
    • RewriteEngine On
      RewriteCond %{HTTP_HOST} ^www\.meine-domain\.at$ [NC]
      RewriteRule ^(.*)$ https://meine-domain.at/$1 [L,R=301]
  • Umleitung von NON-www auf www
    • RewriteEngine On
      RewriteCond %{HTTP_HOST} !^www\.meine-domain\.at$ [NC]
      RewriteRule ^(.*)$ https://www.meine-domain.at/$1 [L,R=301]
  • Umleitung von HTTP auf HTTPS
    • RewriteEngine On
      RewriteCond %{HTTPS} !=on
      RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

 

Gibt es WordPress Plugins?

Für die Leute die WordPress benutzen, gibt es auch die Möglichkeit das Plugin “Redirection” zu verwenden – natürlich gibt es auch unzählige andere. Dies ermöglicht einem nicht nur die einfache Verwaltung von Redirects, sondern zeigt einem auch gleich an, wann wer auf eine Seite zugegriffen hat und diese nicht Verfügbar war.

Wenn ihr dieses Plugin nutzt solltet ihr auch gleich die Einstellungen überprüfen. Dieses Plugin speichert nämlich standardmäßig die IP-Adresse und diese müssen laut der neuen DSGVO anonymisiert werden.

Redirection - Anonymisierung

Auf der 404 Seite findet ihr alle URLs wo ein Client als Antwort vom Server bekam, dass diese Seite nicht Verfügbar ist.

Redirection - 404 Page

Durch einen einfachen Klick auf Umleitung hinzufügen, kann genau für diese Seite eine Umleitung erstellt werden.

Redirection - Hinzufügen

Dazu sind neben den oben beschriebenen Weiterleitungs-Möglichkeit auch Regular Expressions möglich. Eine Beschreibung ist durch klick auf das ? rechts oben bei Regex zu bekommen. Wer noch nie etwas damit gemacht hat, kann mir auch einen Kommentar mit seiner Problemstellung hinterlassen. Ich werde demjenigen so schnell wie möglich Antworten.

Redirection - Konfigurieren

Wenn man nun den Dialog bestätigt ist die Weiterleitung auch schon aktiv und man kann seine Änderungen Testen.

Redirection - Redirects

Bei Fragen oder Problemen hinterlasst mir einen Kommentar und ich werde euch sobald als Möglich Antworten.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen