Hallo Michael,
Und wenn ich nun einen extra Link zum anklicken machen oder einen refresh nehme, ist das Problem gelöst?
Ja.
Kann mir das jemand genauer erklären, oder wo liegen die Probleme bei meiner Variante liegen?
Wenn Du eine HTTP-Weiterleitung, dann ändert der Browser den Referer beim Zugriff auf die Seite, auf die weitergeleitet wurde, nicht (der Browser hat ja die 'Seite', die die Weiterleitung ausgegeben hat, gar nicht wirklich geladen!). Wenn Du dagegen einen Link oder so etwas hast, dann hat der Browser eine Seite dazwischen geladen, die als neuer Referer dient.
Btw: Probier es doch selbst aus:
-------------------------- redirect.php
<?php
if (isset ($_GET['uri'])) {
Header ('Location: ' . $_GET['uri']);
exit;
}
?>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?uri=<?php echo urlencode('http://localhost/info.php'); ?>">Link</a>
-------------------------
-------------------------- info.php
<?php phpinfo (); ?>
-------------------------
Nun such nach der Umgebungsvariable HTTP_REFERER und Du wirst fündig. Und diese enthält den *alten* Referer und nicht den der Weiterleitungsseite!
Viele Grüße,
Christian