URL: https://www.overclockers.at/linux/apache_und_utf8_sonderzeichen_auf_latin1_mappen_139963/page_1 - zur Vollversion wechseln!
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.
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.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025