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