Раздел 2. Использование HTTP-сервера Apache RU EN Пункт 17. Пользовательские сообщения об ошибках Хотя HTTP-сервер Apache предоставляет общие ответы об ошибках в случае кодов состояния HTTP 4xx или 5xx, эти ответы довольно резкие, неинформативные и могут пугать пользователей сайта. Возможно, вы захотите предоставить настраиваемые ответы на ошибки, которые будут либо более удобными, либо на каком-либо языке, отличном от английского, или, возможно, которые будут оформлены в соответствии с макетом вашего сайта. Индивидуальные ответы об ошибках могут быть определены для любого кода состояния HTTP, обозначенного как состояние ошибки, то есть для любого состояния 4xx или 5xx. Кроме того, предоставляется набор значений, чтобы документ об ошибке можно было дополнительно настроить на основе значений этих переменных с помощью включений на стороне сервера. Или вы можете иметь условия ошибок, обрабатываемые программой cgi или другим динамическим обработчиком (PHP, mod_perl и т. д.), который использует эти переменные. КонфигурацияПользовательские документы об ошибках настраиваются с помощью ErrorDocument 500 "Извините, наш скрипт дал сбой. О боже" ErrorDocument 500 /cgi-bin/crash-recover ErrorDocument 500 http://error.example.com/server_error.html Документ об ошибке 404 /errors/not_found.html Документ об ошибке 401 /subscription/how_to_subscribe.html Синтаксис директивы ErrorDocument <трехзначный код> <действие> где действие будет рассматриваться как:
При перенаправлении на локальный URL-адрес устанавливаются дополнительные переменные среды, чтобы ответ можно было дополнительно настроить. Они не отправляются на внешние URL-адреса. Доступные переменныеПеренаправление на другой URL-адрес может быть полезным, но только в том случае, если может быть передана некоторая информация, которую затем можно использовать для более четкого объяснения или регистрации состояния ошибки. Для этого при отправке перенаправления ошибки будут установлены дополнительные переменные среды, которые будут сгенерированы из заголовков, предоставленных исходному запросу, путем добавления «REDIRECT_» к имени исходного заголовка. Это обеспечивает документ об ошибке контекст исходного запроса. Например, в дополнение к более обычным переменным среды вы можете получить следующее. Ни один из них не будет установлен, если Настройка ответов на ошибкиЕсли вы укажете Если ErrorDocument задает локальное перенаправление на сценарий CGI, сценарий должен включать ... print "Тип контента: text/html\n"; printf "Статус: %s условие перехвачено\n", $ENV{"REDIRECT_STATUS"}; ... Если сценарий предназначен для обработки определенного состояния ошибки, например Обратите внимание: если ответ содержит Многоязычные пользовательские документы об ошибкахПри установке Apache HTTP Server предоставляется каталог пользовательских документов об ошибках, переведенных на 16 различных языков. В каталоге конфигурации также есть файл конфигурации
В файле конфигурации вашего сервера вы увидите строку, например: # Многоязычные сообщения об ошибках # Включить conf/extra/httpd-multilang-errordoc.conf Раскомментирование этой Кроме того, эти документы содержат различные переменные
Эти документы могут быть настроены в той степени, в какой вы хотите предоставить пользователям больше полезной информации о вашем сайте и о том, что они могут ожидать найти там. |