Großschreibung in URLs mit Apache mod_rewrite in Kleinschreibung umwandeln

Bei einer meiner Internetseiten wurde die Groß- Kleinschreibung auf Nur-Kleinschreibung umgestellt. Danach meldete Google Webmaster Tools bei bereits indizierten URLs Probleme bei Meta Beschreibungen und Titeln. Der Grund war, dass alle bereits vorhandene Seiten beispielsweise über www.seite.com/Artikel.html und www.seiten.com/artikel.html erreichbar waren. Je nach Interpreation von Google kann dieser Umstand auch Duplicate Content sein.

In meinem Fall leitete AceSEF als Joomla Addon nicht per 301 alte Groß/Klein URLs zu Klein URLs weiter, deshalb musste eine Lösung über mod_rewrite her. Nach diesem Tipp und einer kleinen Erweiterung funktioniert nun alles wie gewünscht. /Artikel.html wird nun per 301 Redirect auf /artikel.html weitergeleitet.

Folgende Zeile in die Server-Konfigurationsdatei vom Apache oder in der betreffenden Virtual Host Datei einfügen:

RewriteMap lc int:tolower

Diese Zeilen am Anfang der Datei .htaccess im Root-Directory einfügen:

RewriteEngine On
RewriteCond %{REQUEST_URI} [A-Z]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /${lc:$1} [L,R=301]

Die Erweiterung um %{REQUEST_FILENAME} !-d und %{REQUEST_FILENAME} !-f sorgt dafür, dass URLs zu bestehenden Dateien am Server wie Template-Dateien und Artikel-Bilder nicht umgeschrieben werden.

Für diesen Tipp muss man aber Zugang zur Apache-Serverkonfigurationsdatei haben!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.