Martin: Refererübergabe bei Verwendung von header()?

Beitrag lesen

<spekulation> Aber natürlich kann es sein, daß der Browser bei "Location: xxx" grundsätzlich keinen Referrer mitschickt, wenn er zur neuen Location geht.</spekulation>

Nun ich dachte auch zuerst es läge an der verwendeten Firewall, da man dort die Refererübergabe unterbinden kann (was bei mir auch eingestellt war). Aber Unabhängig davon wurde auch bei anderen Besuchern mit verschiedenen Browsern kein Referer übermittelt. Die Wahrscheinlichkeit dass alle Browser die diese Weiterleitung verfolgten den Referer unterbinden scheint mir eher eine "Unwahrscheinlichkeit".

<idee> Versuch's mal mit den HTTP-Statuscodes 301 oder 302 (Moved temporarily oder permanently). Dann ist der Browser ebenfalls für das Ansurfen der neuen Seite zuständig, aber vielleicht schickt er dann einen Referrer. Oder du nutzt den bekannten Meta-Refresh (wobei ich mir nicht so recht vorstellen kann, warum der NICHT funktioniern soll - erkläre!). </idee>

Wie genau sieht das mit dem Statuscode dann aus?
header("Location: $url");
header("HTTP/1.0 301");
exit;
(diese Syntax und Reihenfolge?)

Der Meta-Refresh funktionierte wie gesagt und diesen verwendete ich auch zuvor. Allerdings gibt es m. W. auch Browser die ein Meta-Refresh nicht unterstützen. Daher hatte ich immer noch einen Textlink der angeklickt werden konnte. Dies ist aber "unschön" und bei einem langsamen Netz dauert es auch einige Sekunden bis die neue Seite geladen wird.
Der Meta-Refresh samt Textlink ist immer noch implementiert und kommt zum Einsatz, sollte der header-Befehl fehlschlagen.

Martin