Рассмотрим примеры. Допустим, пользователь обратился к документу, которого не существует на сервере.
Такое может произойти по разным причинам: где-то осталась ссылка на уже удаленный Вами документ, кто-то дал пользователю неправильную ссылку или пользователь допустил ошибку, когда набирал адрес страницы в браузере. В этом случае сервер выдаст ошибку 404 (Not Found) и текст вида "The requested URL такой - то was not found on this server".
Можно выдать вместо этой строчки документ в дизайне Вашего сервера, в котором написать что-то типа "Произошла ошибка - запрошенный документ не найден. Попробуйте уточнить адрес, воспользоваться поисковой системой или начать просмотр сайта с первой страницы". Такое сообщение пользователь поймет гораздо лучше. Более того, пожалуй, выдача дружественных, понятных любому посетителю сообщений является хорошим тоном.
Итак, создаем документ, который будем показывать пользователю в случае возникновения ошибки 404.
Итак в файле ". htaccess " дописываем сверху следующие строки например:
Код: Выделить всё
# содержание файла .htaccess:
ErrorDocument 404 http://htaccess.net.ru/error/404.htm
ErrorDocument 403 http://htaccess.net.ru/error/403.htm
ErrorDocument 400 http://htaccess.net.ru/error/400.htm
ErrorDocument 500 http://htaccess.net.ru/error/500.htm
# следующие директивы файла .htaccess оставлены для общего примера
Options + Includes
AddType text/html .shtml
AddHandler server-parsed .shtml
order allow,deny
deny from all
Приведем еще несколько возможных вариантов использования данной директивы для создания собственных ответов на ошибочные ответы веб сервера Apache ErrorDocument веб мастером в .htaccess:
Код: Выделить всё
# в случае ошибки "SERVER ERROR" показывается страница с другого ресурса:
ErrorDocument 500 http://htaccess.net.ru/cgi-bin/500.pl
# в случае ошибки "NOT FOUND" показывается страница с того же веб-сайта:
ErrorDocument 404 /cgi-bin/error404.pl
# в случае ошибки "FORBIDDEN" показывается текстовое сообщение, которое
# обязательно должно начинаться с кавычки, кавычка в сообщении не выводится:
ErrorDocument 403 "Sorry can't allow you access today, 403 Status Codes Apache