Hallo,
Dein header('Location: login') hat auf jeden Fall den Fehler, dass Du dort einen absoluten Pfad von der Document Root zur Loginseite angeben müsstest, aber eigentlich sogar eine vollständige URL, also header('Loacation: https://example.org/login/')
warum sollte ich dort eine absolute URL eingeben?
zumindest mal, weil die Spezifikation von HTTP das vorschreibt. Ob das wirklich sinnvoll ist, sei dahingestellt; wie du die nötigen Pfad-Bestandteile von PHP ergänzen lassen kannst, haben die Kollegen ja schon gezeigt.
Ist ja etwas bescheuert, ziehe ich das Projekt um muss ich hunderte von Pfade anpassen.
Du liebe Güte, nein. Deshalb automatisieren. Nur das Ergebnis, also der resultierende HTTP-Header, sollte dann stimmen. Der darf aber gern automatisch gebildet werden.
Ich hab dieses jetzt auf allen Seite so eingebaut und noch nie irgendwelche Probleme damit gehabt.
ACK. Die bekannten Clients kommen auch mit unvollständigen, relativen URLs zurecht*. Müssen sie aber nicht, und es ist nicht garantiert, dass das immer so ist.
So long,
Martin
* AFAIR hat Gunnar mal von einem Fall berichtet (oder einen solchen konstruiert), bei dem der IE mit einer relativen URL im Location-Header auf die Schnauze gefallen ist.