Wie wird eine 301 Weiterleitung per htaccess eingerichtet?
Immer wieder gibt es Anfragen, wie eine 301 Weiterleitung eingerichtet wird. Hierzu habe ich mir die wichtigsten Punkte ausgesucht, die dem einen oder anderen als Vorlage dienen könnten.
Meistens wird eine 301 Weiterleitung von NON-www zu www erstellt. Doch bevor man sich für NON-www oder www entscheidet, sollte eine kleine Abfrage in Google gestartet werden um zu erfahren, mit welcher Version (NON-www oder www) die meisten Seiten indexiert sind.
Die entsprechende Abfrage wird bei Google mit den folgenden Zeile gemacht:
- Erste Abfrage ohne www:
site:domain.de
- Zweite Abfrage mit www:
site:www.domain.de
Hat man sich für eine Variante entschieden, kann die entsprechende 301 Weiterleitung erstellt werden.
Vorab möchte ich noch bemerken, dass die entsprechende .htaccess Datei nur auf einem Apache Server mit aktiviertem mod_rewrite funktioniert.
Zu aller erst legt man eine neue Datei mit der Bezeichnung “.htaccess” an. In der ersten Zeile wird die RewriteEngine mit der folgenden Zeile aktiviert:
RewriteEngine on
Anschließend können die entsprechenden Weiterleitungen eingerichtet werden:
301 Weiterleitung von NON- www zu www
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
ODER
RewriteCond %{HTTP_HOST} !^www\.domainname\.de$
RewriteRule ^(.*)$ http://www.domainname.de/$1 [L,R=301]
301 Weiterleitung von www zu NON- www
RewriteCond %{HTTP_HOST} ^www\.domainname\.de$ [NC]
RewriteRule ^(.*) http://domainname.de/$1 [R=301,L]
301 Weiterleitung von X zu Y
Redirect 301 /test.html http://www.domainname.de/test/
Dem einen oder anderen ist wahrscheinlich schon aufgefallen, dass nach einem Klick auf “Home” oder “Startseite” je nach System und Programmierung noch die index.html bzw. .php Datei angehängt wird. Somit ist die Startseite über zwei unterschiedliche URLs aufrufbar:
www.domainname.de & www.domainname.de/index.html
Auch diese index.html oder .php kann mittels der .htaccess Datei zu der Hauptdomain weitergeleitet werden.
301 Weiterleitung der index.html oder index.php (Startseite) zur Hauptdomain:
Für die index.html gilt:
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /index\.html
RewriteRule ^index\.html/?(.*) /$1? [L,R=301]
Für die index.php wird einfach nur „html“ in „php“ abgeändert:
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /index\.php
RewriteRule ^index\.php/?(.*) /$1? [L,R=301]
301 Weiterleitung (andere DC Domains zur Haupt-Domain + NON- www zu www)
RewriteCond %{HTTP_HOST} !^www\.deineDomain\.de$
RewriteCond %{HTTP_HOST} !^www\.domain1\.de$
RewriteCond %{HTTP_HOST} !^www\.domain2\.de$
RewriteRule ^(.*)$ http://www.deineDomain.de/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^www.domain1.de$ [NC]
RewriteRule ^(.*)$ http://www.deineDomain.de/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.domain2.de$ [NC]
RewriteRule ^(.*)$ http://www.deineDomain.de/$1 [R=301,L]
Verfasst von Arwin Barsekhian
Dieser Eintrag wurde am Dienstag, 12. Juli 2011 um 15:21 erstellt und ist abgelegt unter SEO. Mit dem RSS 2.0 Feed kannst du den Antworten zu diesem Artikel folgen.
Du kannst eine Antwort hinterlassen, oder einen Trackback von deiner eigenen Seite senden.
Die Weiterleitung benötigt man immer mal.
Vielleicht können Sie auch noch was zum Thema SEO und Weiterleitung sagen?
@Peter
Gerne kann ich auch etwas zum Thema “SEO und Weiterleitung” schreiben. Im Prinzip geht es darum DC (Duplicate Content) auszuschließen sowie tote Links abzufangen, um diese zu den entsprechenden Seiten weiterleiten zu lassen. Aktualisiert man eine bereits vorhandene Seite samt der URL Struktur, so muss dann eine entsprechende 301 Weiterleitung von der alten URL Stuktur zu der neuen eingeleitet werden, um die Platzierung nicht zu gefährden. Andernfalls wird eine 404 Fehlermeldung ausgegeben, was dem Google Crawler signalisiert, dass die alte URL nicht mehr existiert. Damit ist es nur eine Frage der Zeit bis die alte URL aus dem Google Index fliegt und somit die bereits erreichte Platzierung verloren geht.
Ist bestimmt eine super Sache
Leider bin ich technisch nicht so bewandelt…
Das sind sehr interessante Artikel und immer wieder hilfreich. Ich habe ein Problem mit der Weiterleitung welches ich nicht gelöst bekomme. Sicher nicht weil ich blond bin. Es existiert eine Weiterleitung im Root welche mit und ohne www perfekt funktioniert und die Webseite läuft. Jetzt möchte ich aber im Root eine Seite sonder.html per Browser aufrufen können und erhalte dabei einen “Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request” Wie könnte ich es schaffen, dass ich sonder.html aufrufen kann.
Eine Antwort wäre echt super
[...] von Ihrem Server-System ab. Falls Sie zum Beispiel einen Apache-Webserver einsetzen, kann eine Umleitungsregel in der .htaccess-Konfigurationsdatei dafür sorgen dass alle Seiten (Homepage, Unterseiten und Verzeichnisse) zum gleichen Pfad auf der [...]
Vielen Dank für die nützlichen Informationen. Jedoch ergibt sich bei mir die Frage, wie würde ich folgendes Problem umsetzen: Um double Content zu verhindern leite ich beispiel.de auf http://www.beispiel.de um. Aber beide sollen weiterhin in ein Unterverzeichnis weitergeleitet werden (www.beispiel.de/cms/). Ist das umsetzbar?
[...] 301 Weiterleitung per htaccess – Aber wie? [...]