Как найти URL реферера при использовании перенаправления htaccess 404?
Я использовал приведенный ниже код для создания пользовательского сообщения 404 (страница не найдена) с использованием файла.htaccess.
RewriteEngine On
ErrorDocument 404 https://%{HTTP_HOST}/404.php
Это работает хорошо, но я хочу знать, какой неправильный URL-адрес вызвал это перенаправление. Другими словами, мне нужно получить HTTP referer, пока пользователь находится в 404.php. Итак, я использовал $_SERVER['HTTP_REFERER']
в 404.php, но ничего не возвращает.
Где у меня были ошибки? И каковы ваши решения для решения этой проблемы?
1 ответ
Решение
Удалить http://
от 404 обработчик и так:
ErrorDocument 404 /404.php
URL, вызывающий 404, доступен для вас в 404.php
с помощью:
$_SERVER["REQUEST_URI"]
когда http://
Используемый в 404 сервер обработчика выполняет полное перенаправление, и вы теряете оригинал REQUEST_URI
,