Отправить заголовок http 404 и показать содержимое - PullRequest
1 голос
/ 12 июня 2011

Я хочу отправить заголовок 404 Не найдено и показать мою страницу "Ошибка не найдена. Попробуйте увидеть это ...".Но когда я отправляю заголовок, я вижу страницу браузера "Ой! Эта ссылка, кажется, не работает".Как я могу показать содержимое моей страницы с правильным заголовком?Есть идеи?

Ответы [ 3 ]

4 голосов
/ 12 июня 2011

Некоторые браузеры считают, что их страницы ошибок умнее, чем страницы сайта.Насколько я знаю, только Google Chrome и Internet Explorer делают это.

Когда они получают ответ короче или равным по длине 512 байт , они решают, что страница "недостаточно описательна', и показать свой собственный 404 документ об ошибке.Вы можете добавить комментарий к своей странице, чтобы обойти эту проверку;или, что еще лучше, полезный контент для описания того, что случилось с пользователем.

3 голосов
/ 12 июня 2011

Некоторые браузеры не отображают вашу страницу 404, если она не содержит определенное количество байтов (обычно 512). Этот вопрос , вероятно, поможет вам немного.

1 голос
/ 12 июня 2011

Я считаю, что это происходит на уровне HTTP-сервера.Поэтому вам придется изменить свои настройки там.Я думаю, что в Apache вы можете добавить это в ваш файл .htaccess или httpd.conf:

ErrorDocument 404 /location/to/your-404.php
...