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]
Kategorien:
Stichwörter:
apache · mod_rewrite · Rewrite · Modul · utf8 · utf-8 · codierung · umlaute ·