Как найти 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,

Другие вопросы по тегам