SEO: Non-defensive URL construction – no duplicate content – regex

9. Dezember 2010 at 17:01

Um zu verhindern dass durch verschiedene Schreibweisen von URLs duplicate content entsteht,  ist es ratsam einheitliche URLs zu erzeugen (z.B. nur die kleinschreibweise zu akzeptieren).

Aus gründen der besseren Benutzbarkeit (usability) ist es natürlich von Vorteil auch verschiedene Schreibweisen der URL zu berücksichtigen, im Detail:

http://www.fly2mars-media.de/seoblog/

sollte genauso berücksichtigt werden wie

http://www.Fly2Mars-Media.de/SeoBlog/

allerdings soll für Google nur eine Schreibweise verwendet werden, da sonst ggf. ein duplicate content problem entsteht.

Die Lösung ist ein rewrite der URL über mod_rewrite, hier die Lösung:

RewriteEngine On
 # lowercase request_uri and redirect 301
 RewriteMap  lc int:tolower
 RewriteCond %{REQUEST_URI} [A-Z]
 RewriteRule (.*) ${lc:$1} [R=301,L]

Beachtet auch diesen Tipp: Apache: RewriteMap not allowed here Problem

Möchtet ihr bestimmte Ordner ausschließen, so könnt ihr dies z.b. für die Ordner tmp und cache wie folgt:

RewriteCond %{REQUEST_URI} !^/(tmp|cache)

Apache: RewriteMap not allowed here

9. Dezember 2010 at 11:08

Wenn ihr vom Apache die Fehlermeldung „RewriteMap not allowed here“ bekommt, dann solltet ihr die RewriteMap nicht in die .htaccess anlegen. Selbst bei AllowOveride All dies nicht in der .htaccess möglich.

Um das Problem zu lösen, müsst ihr die Rewrite-Anweisungen in die vhost.conf (bzw. dort wo ihr euren vhost definiert habt) schreiben.