httpd-users-de mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Max.Dittr...@t-online.de (Max Dittrich)
Subject Re: umlaute in urls (pfaden und dateien)?
Date Mon, 27 Sep 2004 22:02:32 GMT
Hi,

Sebastian Lechte wrote:

> 
>> Man könnte sicher auch nett mit mod_rewrite eine einfache Umschreibung
>> basteln.
> 
> das waere ideal, und am einfachsten. die frage ist: wie mach ich das? hab
> noch nie mit mod_rewrite gearbeitet :(
> wie kann ich utf-8 in einer regular expression (welche man fuer mod_rewrite
> meiner nachforschungen nach benutzen muss) erkennen?

Die Zeichen, die in ISO 8859-1 enthalten sind, fallen in UTF-8 Kodierung
in den Bereich 0xC280 - 0xC3BF (2 Byte). ASCII-Zeichen (7-bit) bleiben
ja unverändert.

So kann man bei Auftreten der Zeichen 0xC3 ( ~A ) bzw. 0xC2 ( ^A )
vermuten, dass es sich um eine UTF-8 kodierte Anfrage handelt und eine
Dekodierung veranlassen.

Um erstmal nicht zu weit zu springen, kann man die Umlaute und das 'ß'
mit folgenden RewriteRules wieder "dekodieren". Für eine vollständige
Lösung käme man an einer RewriteMap nicht vorbei.

>     # Ä
>     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]

In einem Apache der 1.3.x Serie scheinen die Regeln nicht zu greifen, da
dessen mod_rewrite wohl nicht perl-kompatible RegExps verwendet.

gruss,
.max



--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


Mime
View raw message