«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему мой заголовок PHP 404 приводит к пустой странице?

Почему мой заголовок PHP 404 приводит к пустой странице?

Опубликовано 13 ноября 2024 г.
Просматривать:228

Why Does My PHP 404 Header Result in a Blank Page?

Почему отправка ошибки 404 в PHP может не работать

В PHP, если вы столкнулись с пустой страницей, несмотря на использование кода для установки ошибки 404 Заголовок «Не найден», потому что:

if (strstr($_SERVER['REQUEST_URI'],'index.php')) {
    header('HTTP/1.0 404 Not Found');
}

Несмотря на то, что этот код технически корректен, в нем отсутствует важный этап: PHP отвечает за вывод страницы с ошибкой 404.

Как обычно обрабатываются ошибки 404

Обычно ошибки 404 обрабатываются веб-сервером:

  1. Пользователь запрашивает URI.
  2. Веб-сервер проверяет наличие файла по этому URI.
  3. Если файл не найден, веб-сервер отправляет заголовок 404 и отображает страницу с ошибкой 404.

Роль PHP в обработке ошибок

Однако, когда страница PHP выполняется, веб-сервер передает управление PHP, прежде чем он сможет обработать ошибку 404.

  1. Пользователь запрашивает URI.
  2. Веб-сервер обнаруживает страницу PHP и передает управление PHP.
  3. PHP проверяет наличие файла и обнаруживает, что он не найден.
  4. PHP отправляет заголовок 404, но теперь становится ответственным за отображение страницы с ошибкой.

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

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3