@toropchin

Как правильно вывести 404 ошибку на php?

Мой движок для сайтов на php настроен, чтоб отдавать собственную ошибку 404.
С помощью mod_rewrite все запросы обрабатываются файлом /index.php, затем в браузер выдаётся контент. Бывает такое, что страница не существует и необходимо вывести собственную 404 ошибку. Ошибка выводится следующим кодом:
header('HTTP/1.0 404 Not Found', true);
Затем подключается шаблончик с нужной страничкой и она показывается в браузер.
Возникла проблема, когда в html подключаются файлы (например css стили), которые не существуют на сервере. Движок обрабатывает их так же как и остальные и выдаёт 404 ошибку. Но инструменты разработчика в браузерах не отлавливают эту 404 ошибку и не кричат о том, что файл не существует. Хотя функция get_headers() показала, что в браузер поступает корректный заголовок:
Array
(
    [0] => HTTP/1.0 404 Not Found
    [1] => Date: Thu, 16 Apr 2015 17:56:58 GMT
    [2] => Server: Apache
    [3] => Set-Cookie: PHPSESSID=****************** path=/
    [4] => Expires: Thu, 19 Nov 1981 08:52:00 GMT
    [5] => Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    [6] => Pragma: no-cache
    [7] => Content-Length: 3327
    [8] => Connection: close
    [9] => Content-Type: text/html
)


Как это исправить?
  • Вопрос задан
  • 5939 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы