You don't have permission to access bei umlaut unter windows

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

You don't have permission to access bei umlaut unter windows

Postby White-Gandalf » 07. December 2006 17:47

Hallo, habe folgendes Problem:

Ich würde gern Umlaute in Dateinamen verwenden können.
Bisher schien das auf dem Apache unter Windows XP, der bei mir auf Arbeit vielfach verwendet wird, nicht möglich. Sobald ich einen Umlaut in einen Dateinamen hineinbastel, kommt die Fehlermeldung "you don't have permission to access....".

Die ist allerdings offenbar eine Fehlleitung.

Um das sicher zu wissen, habe ich dem Apache temporär die Konfiguration um sämtliche begrenzenden Regeln erleichtert. Es bleibt immer dabei, auch mit nur einer einzigen Directory-Regel: Sobald ein einziger "extended ASCII" auftaucht, kommt die Fehlermeldung.

Mit in Bezug auf dieses Problem exakt derselben Konfiguration hatte ich seit einem Jahr zu Hause mit eigenen Servern unter Windows 98 kein Problem, solange die Besucher den Firefox benutzten. Für den IE hatte ich das nach einiger Zeit auch mittels rewrite-rules korrigiert. Dort (Apache 2.x unter Windows 98) gibt es also keine Probleme.

Es scheint also irgendwie mit der Verarbeitung der URLs an der Schnittstelle zwischen Apache und OS zusammenzuhängen. Ankommen tun die URLs korrekt kodiert (mit hex-Darstellung), so wie ich dies von zu Hause ebenfalls kenne. Sie erscheinen identisch im error-log und im access-log.

Bei einer Google-Suche bekomme ich mit allen relevanten Begriffen noch gerade mal eine Handvoll Treffer, die aber nichts sinnvolles enthalten (meist nur Verzeichnisse von Forenthemen - bis auf einen, in dem sich der einzige Teilnehmer, der so tut, als ob er Ahnung hätte, darin suhlt, den Hilfesuchenden vorzuhalten, wie blöde sie doch seien).

Nun meine Frage: Hat hier schon mal jemand Erfahrungen damit gemacht? Weiß jemand eine Lösung, die nicht "einfach drauf verzichten" heißt (DIE kenne ich selber und praktiziere sie auch, aber ich will's auch mal hübscher hinkriegen) oder "Wechsle das Betriebssystem" (ICH stehe hier nicht zur Debatte, sondern die von mir für ein paar hundert Webseitenbastler, die nur mit Windows XP arbeiten WOLLEN und SOLLEN, eingerichteten Serverkonfigurationen).

Ich komme mit meinem Latein hier nicht weiter. Für Hilfe wäre ich sehr dankbar.
White-Gandalf
 
Posts: 10
Joined: 16. July 2006 12:09

Aktualisierung

Postby White-Gandalf » 14. December 2006 09:05

Also: Die Fehlermeldung ist vielleicht nicht vollkommen (vom Apachen) ersponnen, sondern hintenheraus sogar sinnvoll (wenn man sich die nicht vorhandenen impliziten Fehlermeldungen mal selbst hineindenkt):

1. Versuch auf eine Datei zuzugreifen, wobei der Dateiname OS-abhängig verfälscht wird.

Interpretationsversuch a)
-> Fehler: Dateiname nicht pasrbar.
-> Der Dateiname wird komplett ignoriert.
-> Es wird ersatzweise ein Directory-Listing versucht.
-> DAS geht nicht wegen Zugriffsschutz (Options none).
Damit korrekte Fehlermeldung.
Was allerdings die Frage offenließe, wie es zu den Zwischenschritten kommen kann.

Interpretationsversuch b)
-> Fehler: Datei existiert nicht.
-> Es wird ersatzweise ein Directory-Listing versucht.
(Ich könnte mir hier auch eine interne Verquickung von fehlerhaften Fehlerbehandlungen vorstellen, da die Datei, um die es in diesem konkreten Fall geht, eine Index-Datei ist, die ja implizit für die Behandlung eben des Falles vorgesehen ist, daß ein Directory angefordert wird.)
-> DAS geht nicht wegen Zugriffsschutz (Options none).
Damit korrekte Fehlermeldung.

Weiter bin ich allerdings immer noch nicht (vor allem wegen anderen wichtigeren Aufgaben)...
White-Gandalf
 
Posts: 10
Joined: 16. July 2006 12:09

relativ abschließende Klärung

Postby White-Gandalf » 05. February 2007 09:03

Das Problem hatte sich zwischendurch gelöst:

Es ist offenbar wirklich eines, das mit dem Zusammenspiel von OS (Windows XP) und HTTP-Server (Apache) und der etwas eigenwilligen Interpretation von UTF-8-Kodierung an deren Schnittstelle zusammenhängt.

Windows XP verlangt grundsätzlich UTF-8 im Dateinamen bei Systemaufrufen (andere Systeme verlangen verschiedenes anderes), worum sich der Apache nicht schert. Worum sich der Apache kümmert, ist nur die "URL-Kodierung" mit Hexadezimalkodes für sowas wie UTF-8-Zeichenfolgen.

Korrekter erschiene es mir, wenn die Verwaltung von Dokument- und URL-Kodierungen komplett in Verantwortung des Apache-Servers läge. Alldieweil die Kodierung bei Anfragen und Antworten nach dem HTTP-Protokoll doch immer mitgeliefert wird, oder? Und der Apache (nicht der Browser eines Besuchers) derjenige ist, der auf seinem Wirtssystem läuft, nicht wahr? Dem Apache müßte man also per Konfiguration mitteilen können, auf welche Kodierung er URLs gegebenenfalls dem Betriebssystem gegenüber übersetzen soll.

Möglicherweise gibt es diese Einstellung auch, ohne daß sie mir bisher aufgefallen wäre. Für einen Hinweis wäre ich durchaus dankbar.

Die URL muß nach Status Quo also gegebenenfalls vom Browser doppelt kodiert werden. Ursprünglich steht da ein einfaches "ä" in ISO-8859-1, welches der Browser in Kenntnis des Betriebssystems hinter dem Server eventuell zuerst in UTF-8 und dann dieses für's Internet in URL-hex kodieren muß.

Zu eben diesem Zweck sind ja auch normalerweise die Auskünfte des Servers über's OS da. Allerdings scheint sich der Firefox - möglicherweise historisch durch Updates aus dem 1.0-Zweig bedingt - bei uns eher strikt an die bei ihm aus welchen Gründen auch immer vorhandene Einstellung von "URLs nicht standardmäßig UTF-8 kodieren" zu halten (eventuell wegen einem bisher verwendeten Linux-Server).

Nach Änderung der Einstellung im Browser (nicht so kompatibel) oder nach Einbau einer rewrite-rule im Apache (kompatibel) ist alles wieder OK.

Thema kann geschlossen werden.
Hinweise auf eine "vernünftig systematische" Lösung mit Apache-Konfiguration nehme ich aber gern noch an.
White-Gandalf
 
Posts: 10
Joined: 16. July 2006 12:09


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 12 guests