Nachdem ich jetzt ca. 3 Stunden daran gesessen habe herauszufinden, wie man mit einer .htaccess eine Weiterleitungen macht, wollte ich das auch mal in gebündelter Form darstellen. Damit es für andere etwas einfacher wird. Allerdings muss ich gestehen, dass ich kein Profi bin…also nicht mal ansatzweise. Aber die Weiterleitung funktionieren bei der Website, wo ich das ausprobiert habe. :-)

Zuerst erstellt man sich eine txt-Datei, die man .htaccess nennt. (Punkt beachten!) Die fertige Datei wird am Ende in das Hauptverzeichnis geladen. Also bei mir wäre das dann www.antscd.de/.htaccess.
Das wichtige ist allerdings noch, dass der Server mod_rewrite unterstützt, sonst nützt das nichts. Außerdem kann es sein, dass beim Hochladen die .htaccess nicht sichtbar ist im FTP-Programm. Dann muss man bei den Einstellungen nach soetwas wie “zeige versteckte Dateien/show hidden files” suchen.

So nun der Code, wenn man die URL ohne www weiterleiten will, also z.B. von http://antscd.de auf http://www.antscd.de


RewriteEngine On

RewriteCond %{HTTP_HOST} ^antscd.de [NC]
RewriteRule ^(.*)$ http://www.antscd.de/$1 [L,R=301]

Der Befehl RewriteEngine On wird oben nur einmal in die .htaccess eingefügt
R=301 ist der Statuswert für die Weiterleitung. 301 ist der Code für eine permanente Weiterleitung. Diese Weiterleitung sollte immer genutzt werden, weil sie a) suchmaschinenfreundlicher und b) sicherer ist.

Wenn ich jetzt zufälligerweise noch die .com Domain hätte, könnte man diese dann auch auf .de weiterleiten und zwar analog wie oben:

RewriteCond %{HTTP_HOST} ^antscd.com [NC]
RewriteRule ^(.*)$ http://www.antscd.de/$1 [L,R=301]

$1 steht dafür, dass alle nachfolgenden Unterseiten auf .de weitergeleitet werden.

Um eine Website mit der Endung index.php weiter zu leiten, kann man folgenden Code nutzen:

# index.html -> /
RewriteCond %{THE_REQUEST} index\.php [NC]
RewriteRule ^(.*)index\.php /$1 [NC,R=301]

Warum sollte man Weiterleitungen nutzen?

Nehmen wir an, ich hätte mir mehrere Domains gesichert. Einmal mit .de und einmal mit .com. Auf jeder Website steht das Gleiche. Nun sucht sich Google die Stärkste aus. Aber vielleicht möchte man eben nicht die nehmen, die Google ausgesucht hat, dann sollte man Google weiterleiten auf die gewünschte URL. (sowas kann man aber auch in den Webmaster Tools von Google festlegen)
Viel wichtiger finde ich die Bündelung von Links bei dieser Problematik. Google erkennt beide Domains. Nimmt aber nur eine im Index auf, z.B. die .de. Alle Links, die nun von Usern auf die .com gesetzt werden (wie auch immer die an die URL gekommen sind) bleiben ungenutzt. Deswegen sollte man auf .de weiterleiten um die Linkpower weiter zu geben.

So das mal zum Thema .htaccess. Ich werde mich damit mal mehr beschäftigen, damit ich nicht ganz so ein Laie mehr bin… ;-)

Nachtrag 21.11.2009:

Weiterleitung einer alten auf eine neue Domain:

Wenn man eine neue Website besitzt und die alte aus bestimmten Gründen nicht mehr nutzen kann oder darf, sich aber die bereits gesetzten Links der alten Domain erhalten möchte, dann muss man folgenden Code nutzen:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.alte-seite\.de$
RewriteRule ^(.*)$ http://neue-seite.de [R=301]

Mit diesem Code werden alle Unterseiten der alten Domain auf die Hauptseite der neuen Domain weitergeleitet.