Intereting Posts
Как я могу использовать функцию preg_replace PHP для преобразования кодовых точек Unicode в реальные символы / объекты HTML? simplexml_load_string не анализирует мою XML-строку. Проблема с кодировкой? PHP и миллион детей Как я могу использовать результат возврата скрипта python PHP в реальном времени? Поиск лучшего способа хранения таблицы с использованием PHP и MySQL Не удается установить gmagick на Windows 7 XAMPP Получение адреса gmail с помощью … openid? OAuth? Передать id из формы для удаления функции Создание веб-сайта социальной сети в PHP Преобразование объекта SimpleXML в массив for loop vs while loop vs foreach loop PHP Swift / PHP Как отображать данные mysql (json) в UITableView с использованием Alamofire Magento Order Order Invoice с обновлением количества товаров с использованием API, который не работает должным образом Конвертация валюты для сайта электронной коммерции – Предотвращение неправильной полной корзины из-за округления Передайте значение флажка check и отобразите первое значение в массиве

404 настраиваемая ошибка страницы перенаправления не показывает отсутствующий URL-адрес файла

У меня есть страница ошибки 404 на моем сайте, но, делая другие вещи на сайте, страница с ошибкой затрудняет определение недостающих проблем с файлом, поскольку она перенаправляется на заданный файл html или php и берет URL-адрес отсутствующий файл из адресной строки и заменяет его URL-адресом страницы пользовательских ошибок.

Так, например, когда пользователи регистрируются на сайте, у меня есть ссылка на файл php, когда они попадают в submit, но затем браузер берет их прямо на страницу ошибки 404, поэтому я не вижу, что проблема на самом деле ссылку на одну директорию выше, чем должно быть.

Я попытался напечатать URL-адрес отсутствующего файла на странице с помощью php, но сервер просто захватывает URL-адрес страницы ошибки 404, а не исходный URL-адрес отсутствующего файла. Вот как я пытался это сделать: http://members.cox.net/midian/tutorials/php404.htm

Как я могу либо показать страницу пользовательской ошибки, сохраняя исходный отсутствующий URL-адрес в адресной строке, либо распечатать URL-адрес пропавшего файла на странице?

Если страницы с ошибкой перенаправляются на страницу 404 с PHP, то переменная $_SERVER["HTTP_REFERER"] должна содержать что-то интересное. Сказав это, перенаправление на страницу с ошибкой-404 является плохой практикой. Это смущает поисковые системы и посетителей-людей.

редактировать

Вот решение, которое работает на Apache. Добавьте эту строку в файл .htaccess :

 ErrorDocument 404 /error-404.php 

Создайте файл с именем error-404.php в корневом каталоге вашего сайта со следующим содержимым:

 <?php echo "<h1>404 Not Found</h1>"; echo "<p>The page {$_SERVER['REQUEST_URI']} was not found on this server</p>"; 

скриншот страницы ошибки с firebug

Что Salman A опубликовано работает для меня.

Он работал только тогда, когда я использовал относительный путь в файле .htaccess:

 ErrorDocument 404 /error-404.php 

и не ErrorDocument 404 http://www.mydomain.com/error-404.php

Вторая версия давала мне перенаправленный URL-адрес в адресной строке и в теле страницы.

Кроме того, вам не нужно использовать php-страницу для вашего сообщения 404; страница html также работает, если вы не хотите повторять URL-адрес в теле страницы.