"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Apache und utf8 sonderzeichen auf latin1 mappen

Rektal 01.04.2005 - 23:44 1192 1
Posts

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4452
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
Registered: Dec 2002
Location: Inside
Posts: 4452
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.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz