Rolf B: php header:location

Beitrag lesen

Hallo Pit,

Mir ist bewußt, dass header("Location:") eine absolute URL erwartet,

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.

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.

Rolf

--
sumpsi - posui - clusi