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 [EMAIL PROTECTED]
sonstige Anfragen an [EMAIL PROTECTED]
--------------------------------------------------------------------------