Страницы ошибок .htaccess
Apache позволяет настраивать сервер на уровне каталога используя .htaccess файлы. Это руководство подробно объясняет, как пользоваться ими для обслуживания пользовательской ошибки 404 (страница не найдена) и других общих страниц ошибок.
В Apache вы можете настроить каждый каталог на сервере индивидуально, ограничивая или допуская нужные свойства. Поэтому если вы не имеете прямого доступа к серверу, управлять свойствами сервера можно через .htaccess файлы.
Настройка страницы ошибки 404
.htaccess файл позволяет показывать показывать собственные страницы ошибок, когда пользователь запрашивает страницу, которой не существует. Это намного эффективнее и удобнее, чем стандартные страницы ошибок, которые пользователи видели уже много раз.
Еще один плюс данной настройки заключается в том, что можно установить отправку страницы ошибки (например 404) по электронной почте, что скажет вам о том кто и когда пытался загрузить не существующую страницу, а также позволить исправить неработающие ссылки.
Для начальной настройки файла .htaccess откройте блокнот (а еще лучше редактор с подсветкой синтаксиса, вроде Notepad++ или Taco) и добавьте следующую строку:
ErrorDocument 404 / 404.html
Далее вам нужно сохранить файл. Вы должны сохранить его в виде ".htaccess". Не ".htaccess.txt" или "mysite.htaccess" — а просто ".htaccess".
Теперь вам нужно создать страницу с именем 404.html, содержащую все, что вы хотите донести пользователю, который запрашивает несуществующую страницу. Загрузите оба файла на свой сервер и введите любой выдуманный адрес. Вместо стандартного сообщения об ошибке, вы должны увидеть собственную страницу 404! Если вы этого не видите, то скорее всего ваш сервер не поддерживает .htaccess файлы или данная услуга отключена. Обратитесь к администратору сервера или в службу поддержки. Возможно эти же настройки можно ввести через IIS.
Если же все хорошо, и вы читаете свою страницу 404.html, то вы можете создать другие страницы ошибок, для полного набора сообщений об ошибках сервера. Ведь кроме ошибки 404 есть и другие (401, 500 и др.). Вы также можете написать свои страницы на PHP или ASP, а не только на HTML.
Можно создать множество страниц для всех кодов состояния сервера, чтобы персонализировать любые ошибки. Вы также можете использовать чистый HTML в самом HTACCESS файле:
ErrorDocument 404 "Упс, ошибочка вышла! <b>Страница не найдена</b>. Воспользуйтесь картой сайта или <a href="mailto:owner@site.com">сообщите по электронной почте</a> администратору для получения помощи.
Коды ответов сервера
Кодом ответа сервера явяется трехзначный номер, который он посылает пользователю в ответ на запрос. Они говорят пользователю, является ли запрос корректным и может ли он завершен, а также требует ли сервер дополнительной информации. Как правило эти коды передаются в HTTP-заголовке, поэтому обычные пользователи их не видят. Самые распространенные коды ошибок сервера, это 400, 401, 403, 404 и 500, так что было бы разумно разместить информацию в .htaccess файл по установке собственных страниц ошибок для данных кодов.
Для того, чтобы видеть страницы ошибок для следующих ответов сервера, необходимо создать их и написать в .htaccess файле следующие строки:
ErrorDocument 400 / 400.html ErrorDocument 401 / 401.html ErrorDocument 403 / 403.html ErrorDocument 404 / 404.html ErrorDocument 500 / 500.html
-
Информационные
- 100 Продолжать.
- 101 Переключение протоколов.
- 102 Идёт обработка.
-
Успешно.
- 200 OK.
- 201 Создано.
- 202 Принято.
- 203 Информация не авторитетна.
- 204 Нет содержимого.
- 205 Сбросить содержимое.
- 206 Частичное содержимое.
- 207 Многостатусный.
- 226 IM использовано.
-
Перенаправление.
- 300 Множество выборов.
- 301 Перемещено окончательно.
- 302 Найдено.
- 303 Смотреть другое.
- 304 Не изменялось.
- 305 Использовать прокси.
- 306 (зарезервировано).
- 307 Временное перенаправление.
-
Ошибка клиента.
- 400 Плохой запрос.
- 401 Неавторизован.
- 402 Необходима оплата.
- 403 Запрещено.
- 404 Не найдено.
- 405 Метод не поддерживается.
- 406 Не приемлемо.
- 407 Необходима аутентификация прокси.
- 408 Время ожидания истекло.
- 409 Конфликт.
- 410 Удалён.
- 411 Необходима длина.
- 412 Условие ложно.
- 413 Размер запроса слишком велик.
- 414 Запрашиваемый URI слишком длинный.
- 415 Неподдерживаемый тип данных.
- 416 Запрашиваемый диапазон не достижим.
- 417 Ожидаемое не приемлемо.
- 418 Я - чайник.
- 422 Необрабатываемый экземпляр.
- 423 Заблокировано.
- 424 Невыполненная зависимость.
- 425 Неупорядоченный набор.
- 426 Необходимо обновление.
- 449 Повторить с...
- 456 Некорректируемая ошибка....
-
Ошибка сервера.
- 500 Внутренняя ошибка сервера.
- 501 Не реализовано.
- 502 Плохой шлюз.
- 503 Сервис недоступен.
- 504 Шлюз не отвечает.
- 505 Версия HTTP не поддерживается.
- 506 Вариант тоже согласован.
- 507 Переполнение хранилища.
- 509 Исчерпана пропускная ширина канала.
- 510 Нет расширения.