В ходе работы сервера иногда возникают ошибки, или правильно называть их не ошибками или сбоями в работе сервера, а стандартными кодами возврата, оговоренными в стандарте HTTP_RFC2616. Вообще, в RFC ошибки называются "Status Codes", но мы их будем называть именно ошибками, так привычнее.
Код возврата - это трехзначное число, на основании которого можно судить о том, насколько успешно был обработан запрос. Код возврата начинающиеся на 1,2,3 считаются успешными, остальные причисляются к разряду ошибок.
Вот список ошибок 4xx и 5xx :
400 - Bad Request
401 - Unauthorized
402 - Payment Required
403 - Forbidden
404 - Not Found
405 - Method Not Allowed
406 - Not Acceptable
407 - Proxy Authentication Required
408 - Request Time-out
409 - Conflict
410 - Gone
411 - Length Required
412 - Precondition Failed
413 - Request Entity Too Large
414 - Request-URI Too Large
415 - Unsupported Media Type
500 - Internal Server Error
501 - Not Implemented
502 - Bad Gateway
503 - Service Unavailable
504 - Gateway Time-out
505 - HTTP Version not supported
При возникновении ошибки 4xx или 5xx посетитель сайта увидит в браузере сообщение от сервера, которое вряд ли поймёт рядовой пользователь. Apache предоставляет возможность выдать вместо стандартного технического текста, свою страницу, где Вы можете на человеческом языке объяснить пользователю, куда он попал и что делать дальше.
Пример переопределения страниц ошибок в файле .htaccess:
ErrorDocument 404 http://site.com/error/404.htm
ErrorDocument 403 http://site.com/error/403.htm
ErrorDocument 400 http://site.com/error/400.htm
ErrorDocument 500 http://site.com/error/500.htm
# в случае ошибки "FORBIDDEN" показывается текстовое сообщение, которое обязательно должно начинаться с кавычки, кавычка в сообщении не выводится:
ErrorDocument 403 "Sorry can't allow you access today, 403 Status Codes Apache"