Was ist eine 301 Weiterleitung und wie kannst Du diese einrichten?

Die 301 Weiterleitung spielt für jeden Websitebetreiber eine wichtige Rolle. Immerhin wird mittels der 301 Weiterleitung der HTTP-Statuscode 301 Moved Permanently (zu deutsch: dauerhaft verschoben) übermittelt. Durch die Übermittlung dieses Statuscodes werden vom Webserver alle eingehenden Anfragen bezüglich einer speziellen Quell-URL auf die neue Ziel-URL weitergeleitet. Wie Du eine solche Weiterleitung einrichten kannst, erfährst Du hier.

Was ist eine 301 Weiterleitung?

Eine Weiterleitung ohne CMS System einzurichten ist mit etwas Code verbunden, aber da sieht komplizierter aus, als es ist!

Eine Weiterleitung ohne CMS System einzurichten ist mit etwas Code verbunden, aber da sieht komplizierter aus, als es ist!

Wird eine Ressource, etwa eine URL oder ein HTML-Dokument dauerhaft verschoben (moved permanently), erhält sie eine neue URL. Fragt nun ein Client – etwa ein Webbrowser oder der Google-Bot – diese Quell-URL an, antwortet der Webserver mit einem Statuscode 301. Durch die Übermittlung des Statuscodes leitet die Website die Anfrage des Client nun zur neuen Ziel-URL weiter.

Ein großer Vorteil der 301 Weiterleitung gegenüber der 404 Fehlerseite ist, dass der Client beziehungsweise der User trotz der dauerhaft verschobenen Quell-URL auf die gewünschte Ressource (der URL) zugreifen kann. Daneben bleibt die Weiterleitung für den Client weitestgehend unbemerkt. Für ihn ändert sich lediglich die URL in der Adresszeile seines Webbrowsers. Darüber hinaus dauert die Ladezeit der Anfrage durchschnittlich etwa 0,2 Sekunden länger.

Wann ist eine 301 Weiterleitung sinnvoll?

Für Websitebetreiber können 301 Weiterleitungen von großem Nutzen sein. Das trifft insbesondere dann zu, wenn sich die URL-Strukturen der entsprechenden Website grundlegend ändern. Auch bei einem Wechsel des gesamten Domainnamens kann die 301 Weiterleitung sinnvoll sein. Selbiges trifft ebenfalls dann zu, wenn zwei Websites miteinander fusionieren oder wenn die Inhalte einer Website über zwei verschiedene URLs aufgerufen werden können. Ebenfalls werden bei einer 301 Weiterleitung auch Backlinks vererbt, was der OffPage Optimierung zugute kommt. 

Wie wird eine 301 Weiterleitung erstellt?

Grundsätzlich stehen zwei Optionen zur Erstellung einer 301 Weiterleitung zur Verfügung. Einerseits wäre da die Weiterleitung mittels PHP. Andererseits kann diese allerdings auch mit der .htaccess-Datei und der notwendigen mod_rewrite Module des Apache Webservers erstellt werden.

301 Weiterleitung mit PHP erstellen

Die Erstellung einer 301 Weiterleitung mithilfe von PHP ist grundsätzlich nur dann möglich, wenn auch das Quell-Dokument eine PHP-Datei ist. Wenn dem so ist, kannst du den PHP-Code zur 301 Weiterleitung direkt in das Dokument schreiben, das weitergeleitet werden soll. Der dafür benötigte Quellcode ist Folgender:

[?php
header(“HTTP/1.1 301 Moved Permanently”); header(“Location: http://www.domain.de/die-neue-url.php”);
header(“Connection: close”);
?]

Hast Du diesen Quellcode in die Datei “die-alte-url.php”, die du über “domain.de/die-alte-url.php” aufrufen kannst, eingefügt, ist die 301 Weiterleitung bereits aktiv. Das heißt, dass all Deine Besucher von nun an auf die neue Quelle “domain.de/die-neue-url.php/” weitergeleitet werden.

301 Weiterleitung für Apache mit .htacess erstellen

Ist Dein Quell-Dokument keine PHP-Datei, wirst du die 301 Weiterleitung mit der htaccess-Datei einrichten müssen. Die Voraussetzung hier ein Apache Webserver, der über aktivierte mod.rewrite Module verfügt. Apache ist der am häufigsten verwendete Webserver und kommt daher bei fast allen Webhosting-Anbietern zum Einsatz. Die benötigten mod-rewrite Module sind in der Regel ebenfalls bereits aktiv. Darüber hinaus ist auch eine entsprechende htaccess-Datei in den meisten Webhosting-Angeboten enthalten.

Ist eine 301 Weiterleitung mithilfe der .htaccess-Datei möglich, so fügst Du in diese folgenden Quellcode ein:

RewriteEngine On
RewriteRule ^vz/neues-dokument.html http://www.domain.de/neues-dokument.html [R=301]

Der Befehl “RewriteEnginge On” spricht das mod_rewrite Module des Apache Webservers an. “RewriteRule” in der zweiten Code-Zeile hingegen legt fest, bei welchen Dokumenten beziehungsweise bei welchem Dokument die 301 Weiterleitung durchgeführt werden soll. Dahinter – lediglich durch ein Leerzeichen getrennt – befindet sich die Ziel-URL, auf die der Client weitergeleitet werden soll. Die Datei, die von nun an nicht mehr im Ordner “/vz/” sondern unter dem Domainnamen zu finden ist, heißt in unserem Beispiel “neues-dokument”. Die abschließende Eckige Klammer “[R=301]” legt den HTTP-Statuscode fest, den der Server der Weiterleitung zuweisen soll. Achte hier unbedingt darauf, den Statuscode 301 zu definieren. Ohne eine explizite Angabe dessen nutzt Apache nämlich standardmäßig den Statuscode 302.

Gratis Ratgeber klärt endlich auf!

Die 7 Gründe warum 98,7 % aller Webseiten kein Geld (im Internet) verdienen, warum Deine Webseite zu wenig Besucher hat und Du nicht unter den Top 3 bei Google rankst... 

301 Weiterleitung für Nginx

Nginx wird ähnlich oft wie Apache als Webserver eingesetzt. Anstatt die Anweisungen in einer separaten Datei aufzuführen, stehen sie hier direkt in der “nginx.conf”.

Folgender Quellcode wird daher direkt (in einem neuen oder im bestehenden Server-Block) zur nginx.conf-Datei hinzugefügt:

rewrite ^/vz/dokument.html $scheme://$host/dokument.html permanent;

Die Anweisung “rewrite” mit der die Code-Zeile beginnt, legt – ähnlich wie für Apache – den Pfad fest, bei welchem Dokument beziehungsweise bei welchen Dokumenten die 301 Weiterleitung durchgeführt werden soll. Durch ein Leerzeichen getrennt wird nun die Ziel-URL aufgelistet. Dank $scheme übernimmt Nginx ganz automatisch, ob es sich hier um eine http- oder https-URL handelt. Mit $host wird hingegen der betreffende Webhoster eingetragen. Die Anweisung “permanent” am Ende der Code-Zeile zeigt Nginx, dass es sich um eine Weiterleitung mit dem Statuscode 301 handelt.

Sollten hingegen alle Unterverzeichnisse und Dokumente in Nginx umgeleitet werden, kannst Du auch mit den regulären Ausdrücken arbeiten. Etwa mit:

rewrite ^/vz/(.*)$ $scheme://$host/$1 permanent;

Diese Anweisung leitet alle Dokumente, die sich im Verzeichnis /vz/ befinden um.

301 Weiterleitung für lighttpd

Auch Lighttpd ist ein freier Webserver und wird ebenfalls häufig genutzt. Da er deutlich wenigere Ressourcen benötigt als etwa Apache, wird er häufig im Fall sehr schwacher Systeme oder bei großen Lasten eingesetzt. Um eine 301 Weiterleitung zu erstellen, die Deinen Besuchern ermöglicht, die Website auch ohne die Eingabe von “www” aufzurufen, ist folgendes Vorgehen nötig.

Unter mod_redirect wird für die Weiterleitung folgende Syntax eingesetzt:

$HTTP[“host”]=”^meine-website\.de” {
url.redirect = (
“^(.*)$”=> “http://www.meine-website.de/$1´´
)
}

301 Weiterleitung für IIS

Möchtest Du eine 301 Weiterleitung in IIS erstellen, stehen dir zwei verschiedene Möglichkeiten zur Verfügung. Die erste Option ist, die Datei namens web.config im Hostingverzeichnis der Domain anzulegen. Im Anschluss wird jene Datei durch folgenden Code ergänzt:

[?xml version=”1.0″ encoding=”UTF-8″?]
[configuration]
[system.webServer]
[rewrite]
[rules]
[rule name=”https-Umleitung” stopProcessing=”true”]
[match url=”(.*)” /]
[conditions]
[add input=”{HTTPS}” pattern=”off” ignoreCase=”true” /]
[/conditions]
[action type=”Redirect” url=”https://{HTTP_HOST}{REQUEST_URI}” redirectType=”Permanent” appendQueryString=”false” /]
[/rule]
[/rules]
[/rewrite]
[/system.webServer]
[/configuration]

Besteht allerdings schon eine web.config-Datei, solltest Du diese in keinem Fall überschreiben. Öffne die Datei daher zunächst in einem Editor und überprüfe, ob bereits andere Regeln definiert worden sind. Sind bereits Regelsätze vorhanden, integrierst Du den “rule”-Block aus dem obigen Codebeispiel in die web.config-Datei.

Für die zweite, etwas einfachere Möglichkeit, öffnest Du zunächst den IIS-Manager auf dem Desktop Deines Servers. In der linken Navigation kannst Du jetzt die passende Webseite auswählen. Anschließend klickst du im rechten Fenster auf “URL Rewrite”. Nun legst Du eine neue Regel an, der du dann im ersten Eingabefeld einen passenden Namen gibst. In den folgenden Feldern gibst du dann die nachfolgenden Werte ein:

Schritt 1:

“Match URL”:

Requested URL: Matches the Pattern
Using: Regular Expressions
Pattern: (.*)
Haken bei “Ignore Case” setzen.

Schritt 2:

“Conditions”:

Logical grouping: Match All
Hier einmal auf “Add…” klicken:
Condition Input: {HTTPS}
Check if input string: Matches the Pattern
Das Feld unter “Pattern” leer lassen.
Haken bei “Ignore Case” setzen.

Schritt 3:

“Action”:

Action type: Redirect
Redirect URL: https://{HTTP_HOST}{REQUEST_URI}
Das Feld unter “Append Query String” leer lassen.
Redirect Type: Permanent (301)

Nun hast du genau das selbe getan wie bei der ersten Variante. In diesem Beispiel wurde festgelegt, dass Besucher, die Deine Website per “http” aufrufen direkt auf die identische Adresse mit “https” umgeleitet werden. Ein Besucher, der von Anfang an per “https” auf deine Website zugreift, ist von der 301 Weiterleitung hingegen nicht betroffen.

Gratis Ratgeber klärt endlich auf!

Die 7 Gründe warum 98,7 % aller Webseiten kein Geld (im Internet) verdienen, warum Deine Webseite zu wenig Besucher hat und Du nicht unter den Top 3 bei Google rankst... 

301 Weiterleitung in WordPress anlegen

Bei dem CMS System ist es um einiges einfacher, als in den vorher genannten Beispielen eine Weiterleitung anzulegen. Dort benutzen wir sog. “Plugins” sprich Werkzeuge, die uns die Arbeit erleichtern. Das Plugin “Simple 301 Redirects” kann uns hier behilflich sein. Dort müssen wir einfach nur die aktuelle Adresse unserer Unterseite festlegen und zum Schluss die URL wohin wir weiterleiten möchten. Somit haben wir die 301 Weiterleitung eingerichtet.

Wir würden uns freuen, wenn Du diesen Beitrag mit Deinen Kollegen / Freunden teilen würdest 🙂