определить название страницы, с которой пришел пользователь

Я перенаправляю страницы на 404.php, если страница не найдена в настройках IIS. Моя проблема в том, что я хотел бы обнаружить ССЫЛКУ, которую они искали.

Например:

если кто-то получит доступ к http://www.site.com/nosuchpage, он будет перенаправлен на 404.php но используя $_SERVER["HTTP_REFERER"], я не получаю URL-адрес, откуда пришел пользователь. Пожалуйста помоги.


person Shafeeq    schedule 04.07.2012    source источник
comment
Всегда используйте var_dump($_SERVER), чтобы увидеть все такие детали.   -  person Sherlock    schedule 04.07.2012
comment
Имейте в виду, что многие пользователи отключили отправку заголовка реферера в своем браузере.   -  person feeela    schedule 04.07.2012


Ответы (1)


Если вы перенаправляете их на 404.php через htaccess, т.е.

ErrorDocument 404 /404.php

Тогда вы должны просто иметь возможность использовать $_SERVER['REQUEST_URI'], поскольку запрошенный URL-адрес все еще должен быть URL-адресом, который не был найден.

person Nick    schedule 04.07.2012
comment
Я пробовал $_SERVER['REQUEST_URI'] и получаю результат: запрошенная страница: /404.php. Я сделал перенаправление, используя настройки IIS - person Shafeeq; 04.07.2012
comment
если я попробую site.com/nosuchpage , почему он показывает, что запрошенная страница была site.com/404.php вместо site.com/nosuchpage? - person Shafeeq; 05.07.2012
comment
Вы не можете правильно настроить документ 404. Я уже описал выше, как это сделать с помощью файла htaccess. - person Nick; 05.07.2012