Одна вещь, которую вы можете попробовать: вместо отправки заголовка Location
отправьте обратно HTML-страницу с тегом
<meta http-equiv="refresh" content="0;url=http://someurl/somepage.php">
в разделе <head>
. Я не уверен, что это решит вашу проблему, хотя ... это действительно зависит от поведения браузера. Значение $_SERVER['HTTP_REFERER']
берется из заголовка запроса Referer
, который браузер может отправлять или не отправлять по своему усмотрению.
Что-то еще, что вы могли бы сделать, это
header("Location: http://someurl/somepage.php?referer=http%3A%2F%2Fthisurl%2Fthispage.php");
, то есть отправьте URL-адрес реферера в качестве параметра строки запроса, затем вы можете получить к нему доступ как $_GET['referer']
. Вероятно, это более надежно, чем использование браузера для отправки заголовка реферера.