Выше показан пример стандартной обработки 403-й ошибки браузером, которая означает, что доступ в определенную директорию сайта заблокирован через http-запрос, а 404-я ошибка выглядит еще более скудной.
В большинство CMS встроены варианты перенаправления посетителей в случае отсутствия страниц или запрета доступа к ним. Вот на этом сайте к примеру такой вариант:
Довольно забавно и самое главное — посетитель остается на сайте, не на отдельной, специально разработанной для таких ошибок странице, а именно внутри сайта.
Я когда то заинтересовался данными редиректами и освоил эту систему. у меня был статический сайт на php-каркасе(футер,хэдр). Вот такая же ошибка на моем тестовом сайтике на локальном сервере:
Для 404—й такая же, но по другому правилу редиректа и с другим текстом для 403-й ошибки!
Htaccess
Создать файл .htaccess (точка впереди обязательна и никакого формата. Точка и хтацес)
Открыть блокнотом и написать две строчки:
ErrorDocument 403 http://art.test1.ru/error403.php
ErrorDocument 404 http://art.test1.ru/error404.php
Заменить адрес сайта на свои и адреса страниц также на свои
Страницы ошибок
Далее необходимо подготовить страницы, на которые будет осуществляться перенаправление. Такие страницы ничем не отличаются от остальных на сайте, разве, что, служат для иных целей.
Интересно, правда у меня немного по другому, пример: www.persev.ru/403 и www.persev.ru/403
Следом за кодом ответа 404 для человеческого понимания идёт объяснение причины. Спецификация HTTP предлагает фразу «Not Found» Ошибка 404 часто возвращается, когда страница была перемещена или удалена, или не совпадает имя файла в коде и на сервере. В первом случае, лучше возвращать клиенту код 301 Moved Permanently, что можно настроить в конфигурации большинства серверов, либо производить перенаправление на другой URL. Во втором случае, лучше возвращать код 410 Gone. Однако, так как эти два варианта требуют специальной настройки сервера, большинство веб-сайтов не используют их.
Это не имеет смысла т.к. сервер не может знать причины отсутствия запрашиваемой страницы, а в народе все уже привыкли к 404. Редирект 301 больше ассоциируется с SEO и применяется для склейки адресов, т.е. ровно тогда, когда нужно старый адрес заменит на новый