Apache und utf8 sonderzeichen auf latin1 mappen
Rektal 01.04.2005 - 23:44 1192 1
Rektal
Here to stay
|
Wie kann ich Apache beibringen, wenn utf8 sonderzeichen in URLs kommen, diese automatisch auf latin1 zeichen zu mappen?
Beispiel: Jemand greift auf server.at/teßt und schickt es in utf8 daher, z.b. te%C3%9Ft . Das Verzeichnis wurde aber mit latin1 ß und nicht mit utf8 ß erzeugt, somit gibts ein 404. Das will ich verhindern.
mod_spelling schon probiert, das prueft aber nur gegen ein falsches zeichen in der url, funktioniert in meinem Fall nicht, schon getestet.
Mir ist natuerlich auch schon mod_rewrite in den Sinn gekommen, wollt aber wissen ob das auch anders geht.
Ich hab auf einem IIS gesehen dass z.B. beide URLs akzeptiert werden, also /te%dft und /te%C3%9Ft . Mir ist klar dass hier eine gewisse Zweideutigkeit auftreten kann. Ich kann am filesystem zwei verzeichnisse ja anlegen, einmal utf8 ß und einmal latin ß und dann funktionieren beide URLs, nur sind dass dann verschiedene Verzeichnisse was ich auch nicht brauchen kann. Links scheiden auch aus, ich will das automatisch haben -> serverseitig.
|
Rektal
Here to stay
|
Derzeit geloest mit mod_rewrite, in dem direkt in der RewriteRule von utf8 auf latin1 characters rewritten wird.
Das Problem ergab sich hauptsaechlich durch folgendes: Dokumente am server in latin1 haben links zu anderen dokumenten enhalten, die direkt z.B. ß im href hatten. War kein Problem, bis auf dass das Google anscheinend das ß nimmt und beim indizieren das nicht als latin1 schickt sondern als utf8 -> 404, nicht gefunden.
|