Eine Weiterleitung wird immer dann benötigt, wenn eine Seite die Adresse gewechselt hat, dabei ist es egal ob nun die kompletten Domain unter einer anderen Adresse steht oder nur ein einzelnes Dokument.
Nun gibt es zwei Wege ein Dokument weiterzuleiten, entweder über die schlechte Clientseitige Weiterleitung (meta tag, javascript oder sonstiges). Oder die gute über den Webserver (Apache).
Per Webserver kann man jetzt in der .htaccess Datei entweder einen 301 oder einen 302 Status Code senden. Der 301 Status Code ist der bessere von beiden, er signalisiert den Client, das die permanent verschoben wurde.
301 – Moved Permanently
Um nun eine einzelne Datei zu verschieben, muss man eine .htaccess Datei in das Webverzeichnis legen und folgende Zeilen dort eintippen:
.htaccess Datei:
Redirect 301 /verzeichnis/datei.html http://www.domain.de/neueDatei.html
Nach dem Redirect 301 wird das umzuleitende Verzeichnis angegeben, danach kommt ein Leerzeichen und danach wird die Ziel Adresse eingeben.
Wenn man nun /verzeichnis/datei.html im Browser aufruft, wird man zu http://www.domain.de/neueDatei.html weitergeleitet. Der Vorteil dieser Methode ist, das der PageRank bei Google nicht verloren geht. Google überträgt den PageRank der Seite auf die neue Seite, das ist gerade interessant wenn die alte Seite schon verlinkt wurde.
Um eine komplette Domain auf eine andere Datei oder Domain weiter zuleiten gibt man folgende Zeilen in die .htaccess Datei ein:
.htaccess Datei:
RedirectPermanent / http://neueDomain.de
Die schönere Domainweiterleitung
Viel eleganter dagegen ist diese Weiterleitung:
.htaccess
RewriteEngine On RewriteCond %{HTTP_HOST} !^http://example.org [NC] RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
Hierbei wird jede Seite auf jede dazu gehörige Unterseite weitergeleitet.
In Zeile 2 muss man seinen alten Domainnamen eintragen und in Zeile 3 seinen neuen.
Beispiele:
- http://example.org –> http://example.com/
- http://example.org/home.html –> http://example.com/home.html
- http://example.org/sub/dir/file.html –> http://example.com/sub/dir/file.html
Alle Weiterleitungen sind natürlich 301 und dadurch extrem suchmaschinenfreundlich, da direkt auf die passende Unterseite weitergeleitet wird.
die kathegorie soll wohl PROgrammierung heissen ?? 🙂
Hast du Recht 😉 Tippfehler meinerseits, ist ausgebessert 😉
Ich habe in der .htaccess schon eine Umleitung drin:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{THE_REQUEST} /index\.php
RewriteRule ^index\.php http://domain.de/ [R=301,L]
Durch einen kleinen Unfall sind meine Seiten in Google nicht nur unter der Domain gelistet, sondern auch unter dem Hostnamen meines Servers.(doppelter Content)
http://xxx.stratoserver.net
Wie kann ich in die .htaccess noch eine weitere Umleitung einbauen von xxx.stratoserver.net nach domain.de?
Sorry das ich erst so spät antworte, hat sich wahrscheinlich bei dir schon erledigt, aber trotzdem:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^http://xxx.stratoserver.net [NC]
RewriteRule ^(.*)$ http://domain.de/$1 [R=301,L]
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{THE_REQUEST} /index\.php
RewriteRule ^index\.php http://domain.de/ [R=301,L]
Wird vor deinen Rules eingebaut, da dein letztes eine [L] Rule ist also Last, dadurch würde wenn deine Regel greift nichts mehr dort hinter ausgeführt.
Moin, ich brauche bitte Deine Hilfe. Ich wollte von wittcami.wordpress.com auf wittcami.de umleiten, jetzt ist alles hin…wittcami.de geht auf wordpress. Den Code habe ich schon gelöscht, trodzdemm geht das nicht.Wie kann ich es rückgänging machen bitte? Vielen Dank!
Hallo Liebe Cami,
ich weiß nicht welche Möglichkeiten man bei WordPress.com hat um seine Webseite umzuleiten. Ich bezweifle das man Zugriff auf seine .htaccess Datei hat, denn sonst wäre es sehr einfach, nur den folgenden Text in die htaccess Datei bei wittcami.wordpress.com:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^http://wittcami.wordpress.com [NC]
RewriteRule ^(.*)$ http://wittcami.de/$1 [R=301,L]
Ich denke das es dort nicht so einfach geht, wenn du magst kannst du dich gerne per Mail unter jannik@d4nza.de melden, Facebook oder ICQ oder so, und ich würde mal sehen ob ich dir dann helfen kann.
Gruß
danza
Post. Vielen Dank! Einen schönen Abend
Hallo,
habe ein Problem mit dem rewriterules und kann das Problem einfach nicht erkennen.
Es gibt mehrere Rules in der htaccess
RewriteRule ^neu(.*)$/ index.php?d=neu
RewriteRule ^kats(.*)$ index.php?d=kats
beide index verweise funktionieren wenn ich sie von Hand eingebe, kats wird auch korrekt umgesetzt, jedoch nicht neu.
wenn in der Adresszeile des Browsers http://schlagmichtod/kats kommt setzer er korrekt um in http://schlagmichtod/index.php?d=kats
Jedoch nicht wenn in der Adresszeile des Browsers http://schlagmichtod/neu dort steht. http://schlagmichtod/index.php?d=neu direkt eingegeben funktioniert aber auch.
Hallo,
wenn man genau hin sieht sind es auch zwei verschiedene:
RewriteRule ^neu(.*)$/ index.php?d=neu
RewriteRule ^kats(.*)$ index.php?d=kats
bei kats fragst du mit “kats(.*)” ab, eine URL die mit kats beginnt und danach dürfen beliebe Zeichen folgen (.*) oder eben keine kommen.
bei neu fragst du mit “neu(.*)/” ab, eine URL die mit neu beginnt, dann kanne in beliebiges Zeichen kommen und endet auf /.
gruß
danza
sonst gehts euch noch gut? Was wollt Ihr mit den 1000 SPAM Suchbegriffen erreichen? Eurer Blog bleibt trotzdem Bullshit!
Das mag vielleicht sein, aber trotzdem hast du die Webseite gefunden, nicht wahr?
Hallo,
wäre sehr dankbar für eine Hilfe.
Möchte gerne mit .htaccess eine 301-er Umleitung konfigurieren.
Habe dazu nicht gefunden.
Auf der Hauptdomain funktioniert das bereits einwandfrei:
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /index\.html
RewriteRule ^index\.html/?(.*) /$1? [L,R=301]
ABER in Verzeichnise nicht – also:
http://domain.de/verzeichnis/index.html
Diese soll umgeleitet werden zu:
http://domain.de/verzeichnis/
Natürlich funktioniert das im Brower einwandfrei.
Mir geht es hier um Doppelkonten, da beideURL den gleichen Inhalt haben.
Und wegen der Schönheit 🙂
DANKE!
Hallo Leute,
bin leider nicht so der Spezialist, deshalb meine Frage, wie die Weiterleitung bei mir aussehen müsste. Ich habe meine Homepage in einem Ordner namens “v11” – jetzt möchte ich mir ne neue Homepage anlagen und diese in den Ordner “v12” setzten.
Da ich mein WordPress Script eins zu eins übernehmen möchte, sollte die Weiterleitung von “http://www.meinedomain.de/v11/” zu “http://www.meinedomain.de/v12/” weiterleiten. Allerings sollen auch alle Artikel erreichbar bleiben.
Also wenn man z.b. den Artikel “http://www.meinedomain.de/v11/?p=764” aufruft, soll man direkt auf “http://www.meinedomain.de/v12/?p=764” weitergeleitet werden.
Kann mir da jemand helfen, wie ich dies mit der 301 Weiterleitung umsetzen kann?!
Danke im Voraus,
alexSLS
Hallo alexSLS,
deine Weiterleitung in der .htaccess müsste wie folgt lauten:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^http://www.meinedomain.de/v11/ [NC]
RewriteRule ^(.*)$ http://www.meinedomain.de/v12/$1 [R=301,L]
Alle Anfragen von v11 werden dann in das Unterverzeichnis v12 weitergeleitet.
Gruß
danza
Kurz und bündig erklärt 🙂 Klappt wunderbar. Vielen Dank
Ingo Siebeck, Kalandro Solutions
sehr verständlich erklärt, danke!
Hi,
bin gerade dabei eine Webseite auf eine neue Domain umzuziehen. Problem dabei ist das Ursprungs und Zielpfade nicht identisch sind.
Das heißt für mich, dass ich jede Einzelseite per Redirect 301 auf das neue Ziel weiterleiten werde.
Das ist zwar viel Arbeit, aber das macht mir nichts aus.
Jetzt bin ich dabei auf folgendes Problem gestoßen. Es gibt einige Themenbereiche/Kategorien, die es auf der neuen Seite nicht mehr gibt.
Frage:
Was macht man in Sachen Redirect Weiterleitungen, wenn die alte Seite viele Inhalte hat, die es auf der neuen Seite nicht mehr gibt?
Lasse ich diese dann bei den Weiterleitungen (Redirect 301) weg oder setze ich das >Redirect-Ziel z.B. auf die Startseite oder eine 404er?
Dazu habe ich im Internet bisher leider nichts Verwertbares gefunden.
Lieben Dank
Das ist Geschmackssache, ich würde entweder per 301 auf eine ähnliche Seite Weiterleiten, die in etwa das selbe Thema hat, oder ich würde per 301 auf die Startseite linken, sodass man noch etwas von dem alten “Seitenwert” auf die Startseite gutgeschrieben bekommt.
404 ist meiner Meinung nach die schlechteste Lösung.
Gruß
danza
Interessanter Artikel. Wie muss ich nun aber vorgehen, wenn ich eine neue Domain auf eine alte bestehende Seite umleiten will, ohne dass das Ranking der alten Seite beeinflusst wird?
Danke, Gruss Roman
Hi, das ist sehr schön geschrieben und dargestellt, aber bei mir funktioniert das leider nicht. Meine Problemstellung ist etwas anders: Die Webseite ist gleich geblieben. Ich möchte von bisher http:// nach https:// weiterleiten. Alle Links sind gleichgeblieben. Dann müsste ich quasi
RewriteCond %{HTTP_HOST} !^http://domain.de [NC]
RewriteRule ^(.*)$ https://domain.de/$1 [R=301,L]
oder?