forTeesSake Geschrieben 19. September 2007 Geschrieben 19. September 2007 Hi und hallo, ich stosse seit heute auf ein komisches Problem. Ich habe XAMPP installiert. Dieser läuft nun schon seit 2 Jahren ohne Probleme. Aufgrund einer neuen Anwendung muss ich URLs, die Doppelpunkte enthalten zulassen. Wenn ich aber eine URL mit Doppelpunkt, aber auch z.B. " oder $ also z.B. http://localhost/index.phpxxx:xxx http://localhost/xxx"xxx http://localhost/x$xxxxx eingebe, kommt ein Fehler "Zugriff verweigert" Was aber hingegen funktioniert ist, wenn ich in ein Unterverzeichnis wechsle, das NICHT existiert: http://localhost/VERZEICHNIS_NICHT_EXISTENT/xxx:xxx ->Hier kommt "Objekt nicht gefunden" Wenn ich aber hingegen in ein existierendes Unterverzeichnis wechsle, und in diesem http://localhost/VERZEICHNIS_EXISTENT/xxx:xxx eingebe, kommt wieder "Zugriff verweigert" In weiteren Unterverzeichnissen kommt wieder "Objekt nicht gefunden", also alles Ok http://localhost/VERZEICHNIS_EXISTENT/VERZEICHNIS_NICHT_EXISTENT/xxx:xxx Was auch funktioniert, ist http://localhost/VERZEICHNIS_EXISTENT/?xxx:xxx also ein Doppelpunkt in der Variablenübergabe. Es scheint also immer dann, wenn ein Verzeichnis, bzw. eine index.php, existiert zu dem Fehler mit Doppelpunkt und anderen Sonderzeichen in der URL zu kommen, wenn diese nicht nach einem ? zur Variablenübergabe stehen. Ich brauche aber oben genanntes Format, wegen einer "Nice-Url-Geschichte" Vielleicht liegt das ganze ja daran, dass mein Apache den Doppelpunkt als Portangabe interpretiert? Welche Einstellung im Apache muss ich verändern, dass solche URLs nicht zu Fehlern führen? Auf meinem Online-Server funktioniert alles wie gewünscht. Vielen Dank
Enno Geschrieben 19. September 2007 Geschrieben 19. September 2007 Sonderzeichen müssen in der URL durch die entsprechende Escape Sequenz ersetz werden. siehe hier: Escape-Sequenzen: Sonderzeichen für Verwendung in URL ansonsten interpretiert der Browser die Sonderzeichen. : heist z.B. Port heise online = besuche die IP die du zu heise online findest auf Port 80 Port 80 ist der Standard für http braucht man also nicht mit angeben. Wenn du nun z.B. http://localhost/index.html:xx als URL angiebst versucht er localhost aufzulösen und auf Port xx die Datei /index.html zufinden Kann ja nicht funktionieren. Gruß Enno
Enno Geschrieben 19. September 2007 Geschrieben 19. September 2007 Sonderzeichen müssen in der URL durch die entsprechende Escape Sequenz ersetz werden. siehe hier: Escape-Sequenzen: Sonderzeichen für Verwendung in URL ansonsten interpretiert der Browser die Sonderzeichen. : heisst z.B. Port http://www.heise.de:80 = besuche die IP die du zu heise online findest auf Port 80 Port 80 ist der Standard für http braucht man also nicht mit angeben. Wenn du nun z.B. http://localhost/index.html:xx als URL angiebst versucht er localhost aufzulösen und auf Port xx die Datei /index.html zufinden Kann ja nicht funktionieren. Gruß Enno
forTeesSake Geschrieben 19. September 2007 Autor Geschrieben 19. September 2007 Ok, das hab ich kapiert. Da werde ich wohl mit htaccess arbeiten müssen. Vielen Dank
forTeesSake Geschrieben 19. September 2007 Autor Geschrieben 19. September 2007 Ich muss nochmal nachfassen. Mir ist klar, dass ein Doppelpunkt hinter dem Host den Port angibt. http://www.heise.de:80 Aber z.B. http://www.heise.de/index.php:80 hat ja nichts mit dem Port zu tun. Hier kommt auch bei heise.de eine Fehlermeldung, dass die Seite nicht gefunden wurde. Bei mir lokal kommt hier aber immer eine Fehlermeldung "Zugriff verweigert"
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden