Web-Server

ID #1035 mod_rewrite mit Umlauten

Problem:

Nach heutigen Standards werden die URLs alt UTF-8 übergeben. Die Umlaute fallen im UTF-8 aber in den 2-Byte-Bereich. Verzeichnisse und Dateien werden aber als Single-Code angelegt.

Lösung:

Folgende Lösung funktioniert aber erst ab Apache 2, da Apache 1.x noch nicht die volle Perl-RegEx unterstüzt. Ausserdem gibt es dort auch noch Probleme mit der UTF-8-Codierung.

# Ä
RewriteRule ^(.*)\xC3\x84(.*)$ $1Ä$2 [N,E=utf8_fixed:1]
# ä
RewriteRule ^(.*)\xC3\xA4(.*)$ $1ä$2 [N,E=utf8_fixed:1]
# Ö
RewriteRule ^(.*)\xC3\x96(.*)$ $1Ö$2 [N,E=utf8_fixed:1]
# ö
RewriteRule ^(.*)\xC3\xB6(.*)$ $1ö$2 [N,E=utf8_fixed:1]
# Ü
RewriteRule ^(.*)\xC3\x9C(.*)$ $1Ü$2 [N,E=utf8_fixed:1]
# ü
RewriteRule ^(.*)\xC3\xBC(.*)$ $1ü$2 [N,E=utf8_fixed:1]
# ß
RewriteRule ^(.*)\xC3\x9F(.*)$ $1ß$2 [N,E=utf8_fixed:1]

RewriteCond %{ENV:utf8_fixed} 1
RewriteRule (.*) $1 [R]
 

sozial Bookmarking
Bookmarken bei YIGG Bookmarken bei Mister-Wong Bookmarken bei Icio Bookmarken bei del.icio.us Bookmarken bei Technorati Bookmarken bei Furl Bookmarken bei Spurl Bookmarken bei Yahoo Bookmarken bei Google

huschi, zuletzt 2005-12-11 00:33     Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen

Dieser Inhalt ist unter der Creative-Commons Lizenz lizensiert.

Probleme bitte im Server-Support-Forum diskutieren.

überflüssig 1 2 3 4 5 wertvoll  
Durchschnittliche Bewertung:   4.33 von 5 (6 Bewertungen)

Artikel kommentieren

Kommentar von Tom (2009-07-30 14:30:48):
funktioniert leider nur, wenn nur ein umlaut in der url vorhanden ist. sobald zwei drin sind, gibts ein endlos loop was ab apache 2.2 nicht mehr mit max redirects abgefangen werden kann.