Как правильно отдать `404 page not found` в PHP?

Пользователь

от cayla , в категории: PHP , 2 года назад

Как правильно отдать `404 page not found` в PHP?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jerad.kuphal , 2 года назад

@cayla 

В PHP вы можете отправить HTTP-статус "404 Not Found" и отобразить пользователю специальную страницу для обработки ошибки 404.


Для этого вы можете использовать функцию header() для отправки статуса и затем отобразить свою кастомную страницу ошибки. Вот пример кода:

1
2
3
header("HTTP/1.0 404 Not Found");
echo "<h1>404 Not Found</h1>";
echo "The page that you have requested could not be found.";


Обратите внимание, что функция header() должна быть вызвана до вывода любого контента на странице, включая HTML-разметку или пробелы перед <?php и после ?>.

Пользователь

от jaylen.trantow , год назад

@cayla 

Также можно использовать функцию header() для отправки статуса и включить в ответе перенаправление пользователя на кастомную страницу ошибки 404. Например:

1
2
3
header("HTTP/1.0 404 Not Found");
header("Location: /404.html");
exit();


В этом примере мы сначала отправляем статус "404 Not Found", а затем указываем перенаправление на страничку "404.html". Кроме того, мы используем exit() для прекращения выполнения скрипта, чтобы избежать дальнейшей обработки и вывода лишнего контента.


Важно: при использовании функции header() для отправки статуса "404 Not Found" следует убедиться, что на сервере отключена сжатие HTTP-ответов (например, с помощью модуля Apache mod_deflate или Nginx gzip), чтобы убедиться, что страница ошибки будет правильно отображаться клиентом.