Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben

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"

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...