Обработка ошибок на сайте и перенаправление пользователей на специальную страницу (например, при ошибке 404) осуществляется с помощью файла .htaccess. Предполагается, что вы знакомы с его использованием.
Настройка перенаправления в .htaccess
В файле .htaccess прописываются правила перенаправления. Примеры правил:
# Комментарии # B requ - плохой запрос # 401 - ошибка 401 # 403 - ошибка 403 # 404 - ошибка 404
Эти правила перенаправляют пользователя на страницу с сообщением об ошибке (например, при попытке открыть несуществующую страницу — ошибка 404). На странице будет сообщение типа «Ошибка 404: такой странички не существует, перейдите на главную».
Пример добавления правила для обработки ошибки 404:
Добавьте в .htaccess следующую строку (комментарии можно не добавлять):
ErrorDocument 404 /404.php
Это перенаправит пользователя на страницу 404.php, если страница не найдена.
Создание и наполнение страницы ошибки 404.php
Создайте файл 404.php. На начальном этапе он может быть пустым. Протестируйте, введя в адресную строку браузера несуществующий адрес. При правильной настройке отобразится 404.php.
Добавьте в 404.php содержимое. Можно использовать стандартный шаблон PHP-страницы, удалив ненужные элементы (мета-теги и формы). Оставьте заголовок и основной текст сообщения об ошибке. Заголовок страницы можно изменить на «Ошибка 404». В основной части отобразите текст сообщения об ошибке: «Ошибка 404». Добавьте ссылку на главную страницу.
Пример кода для страницы 404.php:
<!DOCTYPE html>
<html>
<head>
<title>Ошибка 404</title>
</head>
<body>
<h1>Ошибка 404</h1>
<p>Страница не найдена.</p>
<p><a href="/">Перейти на главную</a></p>
</body>
</html>
После добавления текста и сохранения изменений обновите страницу.
Обработка других типов ошибок
Аналогично создаются страницы для других ошибок, например, 504 (слишком много времени прошло, сайт не загрузился) или 507.
В этом руководстве описано создание страниц обработки ошибок на сайте с использованием файла .htaccess и PHP. Правильное отображение ошибок важно для удобства пользователей.