Samstag, 7. Juli 2012

Standard-Umleitung per htaccess auf neue domain

Aufgabe: 
  • Umleitung auf neue domain. 
  • Die neue domain soll im Browser erscheinen (!)
  • Google soll auch wissen, dass es künftig die neue statt der alten Adresse indizieren soll. Das Ranking der alten Seite soll fortgeführt werden

Alles hinter der domain (Ordner, Dateinamen, Parameter) soll automatisch angehängt werden. Also z.B. die Eingabe von
  • http://www.v-mag.net/search/label/Verbraucherwarnungen
    führt zu
  • http://www.verbraucher-magazin.net/search/label/Verbraucherwarnungen
Man könnte meinen, die Antwort auf solche Fragen hat man blitzschnell im Internet nachgeschlagen. Typischer Fall von Irrtum.
 
Seit 14 Jahren ärgert sich der Autor über htaccess-Probleme dieser Art. Jedesmal aber muss er sich aber neu einlesen, und bleibt unsicher und verwirrt. Denn jeder Autor benutzt andere Varianten, und jeder wirft sein Beispiel hin ohne ausreichende Erklärung. Zusammen mit Netzwerkfreunden haben wir schon vor Jahren spezielle htaccess-Infoseiten angelegt, aber es bleibt trotzdem verwirrend. Mal liest man redirect, dann wieder url_rewrite, was doch eigentlich mit redirect nichts zu tun haben scheint, dann ist man nicht sicher, ob die Anhängsel hinter der domain mit übertragen werden und zu allem Überfluss hängt das SEO-Schwert über dem Kopf. Hier ist noch viel Bedarf für Autoren.
An dieser Stelle soll nur die Standardlösung aufgezeigt werden,  und nur mit der notwendigsten Erläuterung, damit Sie sich unnötige Recherchen ersparen.

1. Die einfachste und schnellste Möglichkeit ist eine .htaccess-Datei mit einem Redirect-Befehl, also lediglich folgender Zeile als Inhalt:
redirect 301 / http://www.verbraucher-magazin.net/


Das löst alle Probleme wie gewünscht und hat keine SEO-Nachteile

2. Man liest oft Tipps, die auf mod_rewrite beruhen, z.B.

RewriteEngine On
RewriteRule ^(.*)$ http://www.verbraucher-magazin.net/$1 [R=301,L]
Beides funktioniert. auch die Parameter werden übertragen. Empfehlenswert ist aber die erste Lösung, sofern die Ordnerstruktur diesselbe ist, weil sie schneller ist.

Was bedeutet die zweite Lösung?

Warum überhaupt die Lösung mit RewriteEngine (= Anwendung des so  genannten mod_rewrite-Moduls von Apache)? Eigentlich soll mod-rewrite nur intern umschreiben, ohne dass dies am Browser erscheint. Also  /impressum.html soll zu  /index.php?seite=impressum führen, aber im Browser soll weiterhin /impressum.html stehen. Das kann mit entsprechendem Rewrite-Code erreichen (auch wordpress benutzt dies für suchmaschinenfreundliche Adressen).

Man kann aber durch den Zusatz am Ende der Zeile "R=301"  erreichen, dass nach der Umschreibung auch ein Redirect veranlasst wird. Eigentlich eine Kombination von Rewrite und anschließendem Redirect. Die Weiterleitung ist also nur eine Zusatzfunktion von mod-rewrite (mod_rewrite).



Obiges Beispiel aus Ziffer 2 ändert die URL nicht und veranlasst durch den Klammerzusatz einen Redirect. Eine unnötige Beanspruchung des mod-rewrite-Moduls, drei Schritte statt ein Schritt im Server. Nehmen Sie Lösung 1 und Sie müssen sich auch nicht weiter damit beschäftigen, was die Buchstaben in den eckigen Klammern bedeuten und ob sie in Ihrem Fall verwendet werden sollen.


Weitere Alternativen für Weiterleitungen


Es gibt zur Verwirrung noch weitere htaccess-Lösungen, z.B. "redirect permanent" statt "redirect 301", ferner die Variante mit "RedirectMatch" in Kombination mit REGEX (regulären Ausdrücken), z.B. RedirectMatch 301 ^.*$ http://www.domain.com/index.html.

Damit muss man sich aber nicht beschäftigen, obige Lösungen reichen für die Aufgabenstellung vollkommen. Sie sind auch in SEO-Hinsicht gleichwertig und die erste Lösung ist die schnellste.
 
Sofern Sie wirklich auch die URL umschreiben müsst, empfehle ich, sich mit der Redirect-Variante namens "RedirectMatch" zu beschäftigen. RedirectMatch erlaubt den Einsatz von regulären Ausdrücken (REGEX) und ist schneller, als Lösungen mit Rewrite.

Lösungen ohne htaccess

Es gibt noch mehr Weiterleitungsmöglichkeiten, z.B. durch Einsatz einer Datei auf dem alten Server, die dann eine der folgenden Elemente enthält:

  • Meta Refresh 
  • PHP-Funkton "header" 
  • Perl-Code
  • Javascript-Befehl


(siehe "Fünfmal Redirect" auf schmager.de:  www.schmager.de/redirect.shtml)

Diese Methoden sind aber im Regelfall uninteressant - Sie müssen sich also nicht in die entsprechenden Varianten einlesen.


Was ist mit unsichtbarer Umleitung/Weiterleitung

Was ist, wenn die Zieladresse nicht im Browser erscheinen soll, sondern die alte Adresse? Also anders, als es die hier gestellte Aufgabe vorsieht?

Das wird unglaublich oft in Foren gefragt, und die Recherchen hierzu sind ähnlich verwirrend. 
Anlass für Blogger und Autoren, sich dem Thema zu widmen.

Das Problem ist nämlich, dass bei vielen Empfehlungen vergessen wird darauf hinzuweisen, dass eine domain-übergreifende unsichtbare Umleitung nicht immer möglich ist. Wenn die domains auf dem selben Server liegen, und zumselben account gehören, funktioniert es meist - je nach Konfiguration des Servers, und zwar mit sogenannten CNAME-Einträgen. Liegt die eine domain bei STRATO und die andere bei CRONON, dann müsste der Cronon-Server entsprechend konfiguriert werden, damit er diese Umleitung erlaubt. Darum funktioniert es bei dem einen, beim anderen nicht, und die User diskutieren oft aneinander vorbei.

  © Blogger template 'Fly Away' by Ourblogtemplates.com 2008

Back to TOP