Hallo Rolf,
Mir nicht. Und der MDN auch nicht. Im RfC 2616 steht es tatsächlich so drin, aber RfC 7231, der den 2616 ersetzt, lässt auch relative URIs zu. Vermutlich hat sich nie ein Browser strikt an die Spec gehalten, und sie wurde daraufhin den Realitäten angepasst. Ist ja auch einfacher für Autoren, das so zu machen.
Insofern - keine Panik, du kannst den Host-Teil der URI auf jeden Fall weglassen.
Hm.. gut zu wissen, danke für den Hinweis.
Wenn Du //example.org/path/to/somewhere/foo.php abrufst und dort location: index.php gesetzt wird, leitet der Browser zu //example.org/path/to/somewhere/index.php
Wenn Du //example.org/path/to/somewhere/foo.php abrufst und dort location: ../index.php gesetzt wird, leitet der Browser zu //example.org/path/to/index.php
Wenn Du //example.org/path/to/somewhere/foo.php abrufst und dort location: /some/other/path/index.php gesetzt wird, leitet der Browser zu //example.org/some/other/path/index.php weiter.
Zumindest sollte es so sein.
Hätte ich dann auch so erwartet, aber:
Ich erhalte aufgrund einer (ich habe nicht den blassen Schimmer - warum - und von wem) ins "../-Verzeichnis" geworfenen index.php einen geloggten Fatal Error. Diese Datei hätte aber nie aufgerufen werden dürfen, da deren Aurfuf aus einem "header("Location: index.php");"
resultiert, das eine Verz.-Ebene darunter notiert ist.
Ich habe eine rekursive Suche nach dem Aufruf des im Errorlog verzeichneten Code gemacht und dieser befindet sich ausschließlich in der (woher auch immer stammenden) index.php in der Ebene darüber. Zeilennummer, Pfad und alles andere stimmen auch überein. Und wie gesagt, ist dieser Code nirgends anders zu finden. Aber er löst einen Fatal-Error aus, also muß er aus dieser Datei kommen. Und weitere Logdaten lassen erkennen, dass die Datei aus einer Weiterleitung einer Datei stammt, die eine Ebene darunter liegt und schlicht auf "header("Location: index.php");"
per header:location umleitet.
Wie kann/soll ich mir das erklären?
Pit