PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kanonische URL mit mod_rewrite


Jörg
14.04.2007, 18:46
Im Rahmen einer Suchmaschinenoptimierung ist es wichtig, dass Seiten jeweils nur unter einer URL verlinkt werden und andere mögliche URLs serverseitig auf diese weitergeleitet werden, um Streuverluste zu vermeiden. Man spricht in diesem Zusammenhang auch von kanonischen URLs. So sollte man sich bei der Startseite für eine dieser Varianten entscheiden und nur diese verlinken:

example.org/
example.org/index.php
www.example.org/ (http://www.example.org/)
www.example.org/index.php (http://www.example.org/index.php)

Sofern Mod_rewrite zur Verfügung steht, kann man darüberhinaus entsprechende 301-Weiterleitungen (http://wd-wiki.biz/index.php/Fehlerseiten#Weiterleitung) in der .htaccess einrichten.

1. für example.org als kanonische URL:

Rewrite Engine on

RewriteCond %{HTTP_HOST} !^example\.org
RewriteRule ^(.*)$ http://example.org/$1 [L, R=301]

RewriteCond %{THE_REQUEST} index\.php
RewriteRule ^(.*)index\.php http://example.org/$1 [L, R=301]2. für www.example.org (http://www.example.org) als kanonische URL:

Rewrite Engine on

RewriteCond %{HTTP_HOST} !^www\.example\.org
RewriteRule ^(.*)$ http://www.example.org/$1 [L, R=301]

RewriteCond %{THE_REQUEST} index\.php
RewriteRule ^(.*)index\.php http://www.example.org/$1 [L, R=301]Diese Rules sollten möglichst am Anfang - nach "Rewrite Engine on" und vor eventuellen weiteren Rules aufgeführt werden. example.org ersetzt Ihr durch den Namen eurer Domain - die Backslashes ("\") vor den Punkten sollten dabei erhalten bleiben. Nach der Änderung der .htacess solltet Ihr die betreffenden Seiten noch testen, da Serverkonfiguration und weitere mod_rewrite Rules deren Wirksamkeit beeinflussen können. Bei Problemen könnt Ihr in diesem Thread nachfragen

Mehr zum Thema URL-Rewriting: mein htaccess und mod_rewrite Forum (http://forum.joergkrusesweb.de/server-f-14-1.html)

Konan
08.08.2007, 15:26
Moin moin,
danke für die Anleitung, aber ich habe leider ein Problem mit meiner .httaccess.
Ich habe versucht den Code zu implementieren, aber ich bekomme dann nen internal error.
Vielleicht ist jemand fähig meine .htaccess so anzupassen, dass meine seite unser-webkatalog.de immer auf www.unser-webkatalog.de umgeleitet wird.

Hier der Code:
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php [QSA,L]

Schonmal vielen Dank ;)

Gruß
Sebastian

Bill
12.08.2007, 12:39
Hallo Konan

schau mal hier rein: Mehr zum Thema URL-Rewriting: mein htaccess und mod_rewrite Forum (http://forum.joergkrusesweb.de/server-f-14-1.html)

Bill

Konan
12.08.2007, 14:35
Ach der Jörg hat nen eigenes Forum :D

Danke dir :)

Bill
12.08.2007, 14:37
gerne geschehen! Dafür sind Foren doch da!

Bill