
Стандартные страницы ошибок в браузерах выглядят скупо и неинформативно. Ошибка 403 сообщает о запрете доступа к определенной директории, а ошибка 404 указывает на отсутствие страницы. При этом внешний вид по умолчанию чаще всего пугает или сбивает с толку посетителя.
Многие CMS (например, WordPress, Joomla и другие) уже включают инструменты для обработки подобных ошибок, позволяя направлять пользователя на заранее подготовленные страницы.

На некоторых сайтах такие страницы оформлены оригинально и сохраняют пользователя внутри общего дизайна ресурса, не создавая ощущения «вылета» из интерфейса.

Третий вариант — мой очень старый статический сайт с PHP-каркасом (с отдельными файлами футера и хэдера), где я вручную настроил эти страницы и прописал все необходимые редиректы.
Это такие же страницы, которые сервер подставляет по указанным правилам. Для этого нужно проделать совсем небольшую работу
Создание файла .htaccess

Для начала создайте файл .htaccess в корне сайта. Название начинается с точки и не имеет расширения. В файле необходимо прописать строки:
ErrorDocument 403 http://art.test1.ru/error403.php
ErrorDocument 404 http://art.test1.ru/error404.php
Замените example.com на адрес вашего сайта, а также укажите правильные пути к файлам страниц ошибок.
Подготовка страниц ошибок
Создайте два файла — error403.php и error404.php (или HTML-версии, если вы не используете PHP). Эти страницы могут включать такие же элементы, как и другие части сайта: шапку, футер, меню и так далее.
Главное, чтобы содержание страницы объясняло пользователю, что произошло, и предлагало варианты действий: вернуться на главную, воспользоваться поиском по сайту или связаться с администратором.
Рекомендации по оформлению
- Можно использовать юмор или креатив, чтобы смягчить негативное впечатление.
- Старайтесь придерживаться общего дизайна сайта.
- Добавьте понятные заголовки: например, «Доступ запрещен» или «Страница не найдена».
- Убедитесь, что страницы ошибок не индексируются поисковиками (через robots.txt или meta noindex).
Посмотреть на реальный пример вы можете в файлах ниже. Это тот самый мой очень старый сайтик родом из середины 10-х. Я даже уже и не помню, что в этом архиве 🙂
Интересно, правда у меня немного по другому, пример: www.persev.ru/403 и www.persev.ru/403
Следом за кодом ответа 404 для человеческого понимания идёт объяснение причины. Спецификация HTTP предлагает фразу «Not Found» Ошибка 404 часто возвращается, когда страница была перемещена или удалена, или не совпадает имя файла в коде и на сервере. В первом случае, лучше возвращать клиенту код 301 Moved Permanently, что можно настроить в конфигурации большинства серверов, либо производить перенаправление на другой URL. Во втором случае, лучше возвращать код 410 Gone. Однако, так как эти два варианта требуют специальной настройки сервера, большинство веб-сайтов не используют их.
Это не имеет смысла т.к. сервер не может знать причины отсутствия запрашиваемой страницы, а в народе все уже привыкли к 404. Редирект 301 больше ассоциируется с SEO и применяется для склейки адресов, т.е. ровно тогда, когда нужно старый адрес заменит на новый