Я долго искал здесь и не могу найти ответа на свой конкретный вопрос.
В сотнях мест на моем сайте я перенаправляюсь на страницу с ошибкой через перенаправление заголовка.
header("Location: /error.php");
Я хочу захватить и зарегистрировать HTTP_REFERER на странице error.php, но по какой-то причине он не установлен. Я видел объяснения, почему он не установлен с помощью мета-обновления, но заголовок местоположения - 302, поэтому его следует установить правильно? Есть предположения?
Обратите внимание: я знаю, что HTTP_REFERER ненадежен, и знаю, что могу передавать информацию отдельно. Ни то, ни другое не имеет значения в моем сценарии (если я не хочу изменить все места, где вызывается перенаправление).
Location:
. В RFC2616 говорится о заголовке местоположения:The field value consists of a single absolute URI
. Вы ДОЛЖНЫ использовать абсолютный путь к новому местоположению. Вы можете рассчитать это динамически из$_SERVER['HTTP_HOST']
и$_SERVER['PHP_SELF']
, например. в данном случаеheader('http://'.$_SERVER['HTTP_HOST'].'/error.php')
; - person DaveRandom   schedule 31.08.2011