Ansicht:   

#366406 mod_rewrite und Umlaute (web.coding)

verfaßt von MudGuard zur Homepage von MudGuard, München, 02.06.2014, 21:15:11

> eben musste ich feststellen, dass Teile meiner Website
> www.historische-faehre-konstanz.de
> nicht mehr erreichbar sind. Und zwar alle Seiten, deren Name ein
> Sonderzeichen enthält, z.B. bei "Die Fähre". Der URL in der Adresszeile des
> Browsers ändert sich, gezeigt wird aber die Startseite des Webs.

URLs können keine Umlaute enthalten, diese müssen escaped werden. *) %xx (wobei xx Hex-Ziffern sind).
Problem dabei: in welcher Codierung werden die Umlaute codiert und dann durch Hex-Ziffern ersetzt?
Üblicherweise verwenden die meisten Browser heute UTF-8.

> RewriteCond %{REQUEST_FILENAME} !-f

Hier entsteht dann vermutlich das Problem. Hier erfolgt jetzt Zugriff auf das Dateisystem, und zwar mit der vom Browser verwendeten Codierung (also meist UTF-8).
Welche Codierung verwendet das Filesystem des Webservers für die Dateinamen?
Wenn dort eine andere Codierung verwendet wird, wird der Pfadname nicht als File oder Folder erkannt ...

Es ergibt sich wieder mal:
vermeide alle Zeichen außer Buchstaben (a-zA-Z), Ziffern (0-9, also keine chinesischen, ...), Unterstrich, Bindestrich und Punkt.
Alle anderen Zeichen werden früher oder später zu Problemen führen.




*) selbst die Umlaute im Domainnamen existieren nicht wirklich, der reale Hostname wird aus dem umlautbehafteten String per Puny-Code umgerechnet, beginnt dann mit xn-- ...

--
[image]
MudGuard
O-o-ostern

 

gesamter Thread:

Ansicht:   
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz