Ошибки: причины и варианты их исправления
Ошибки: причины и варианты их исправления
1. Что делать с ошибками?
При работе с сайтом часто возникают ошибки. Бывают ошибки, которые нужно обработать (например, "страница не найдена") и ошибки, которые нужно исправить ("internal server error").
Далее рассмотрены ошибки, которые появляются чаще других.
2. Причины появления ошибок.
Ошибкой в протоколе HTTP называется такое поведение веб-сервера, когда он по какой-либо причине не может дать ответ (запрашиваемый документ). Вместо этого сервер отвечает только кодом ошибки, о котором сообщает клиенту в HTTP-заголовке.
Каждая ошибка, которую выдает браузер, имеет свой код, который соответствует классу ошибки. Существуют следующие классы ошибок:
2xx — запрос выполнен успешно — сервер успешно отправил клиенту запрашиваемый документ
3xx — запрос успешно перенаправлен — тоже положительный код. Он говорит о том, что запрос клиента был перенаправлен. Используется при работе с кэширующими серверами, а также в алгоритме, когда браузер клиента проверяет актуальность документа на сервере (дату создания, размер и так далее)
4xx — ошибка — документ не был отправлен клиенту, так как произошла критическая ошибка. Например, запрошенный документ не найден на сервере, доступ к документу запрещен и так далее
5xx — ошибка сервера — критическая ошибка на сервере. Например, на сервере не смог нормально отработаться скрипт пользователя
3. Возможные ошибки при первичном размещении сайта.
Вы разместили сайт на хостинге нашей компании, загрузили файлы и получили ошибку 403 при попытке открыть сайт через браузер. Эта ошибка возникает в случае, если Вы неправильно назвали индексный файл, который должен показываться при обращении к каталогу. Индексный файл может иметь названия index.html, index.htm, index.php, index.php3, index.phtml, index.shtml, default.htm или default.html. Также возможно, что в названии индексного файла присутствуют заглавные (большие) буквы - что недопустимо. В UNIX-системах регистр букв в названиях файлов имеет значение (!).
4. Ошибка — выводится список файлов вместо первой страницы.
Вы загрузили файлы на сервер, но вместо первой страницы видите список загруженных на сервер файлов. Вероятная причина ошибки в том, что Вы загрузили файлы в каталог с разрешенным листингом и при этом у Вас отсутствует индексный файл.
5. Ошибка 403 «Доступ запрещен».
Данная ошибка возникает тогда, когда сервер не смог выполнить запрос по причине запрещенного доступа к файлу. Наиболее часто это возникает в трех случаях:
-в каталоге нет индексного файла (index.html, например) и при этом запрещен просмотр списка файлов в данном каталоге или на всем виртуальном сервере. Можно попробовать создать файл с именем index.html и посмотреть, не исчезнет ли ошибка.
-выставлены такие права доступа на файл, что веб-сервер Apache не смог прочитать файл на диске сервера. Попробуйте изменить права доступа на 644, например.
-пользователь попытался обратиться к скрипту (в каталоге cgi-bin), на который выставлены неправильные права — нет права на чтение и исполнение (r+x) конкретного скрипта. Измените права на 755.
6. Ошибка 404 "Файл не найден"
Ошибка 404 возникает в тех случаях, когда пользователь запрашивает у веб-сервера документ, который отсутствует на диске. Это наиболее частая ошибка, и её причиной преимущественно есть неправильная ссылка.
В целом, ошибка имеет стандартный вид.
но этот вид можно сменить на Ваш собственный с описанием ошибки или инструкциями, что делать далее. Для того, чтобы обработать 404-ю ошибку создайте в каталоге www файл .htaccess и припишите следующую директиву:
ErrorDocument 404 /not-found.html
Далее создайте документ not-found.html и поместите в него текст, который должен отображаться вместо ошибки. Теперь, если пользователь обратится к несуществующему документу, в ответ он получит содержание not-found.html.
С помощью директивы ErrorDocument можно обработать не только 404-ю ошибку, но и ряд других, например, 403-ю ошибку.
7. Ошибка 500 "Internal Server Error".
Это ошибка сервера, которая может возникать в многих случаях, но преимущественно это следующее:
- сервер не смог запустить скрипт на выполнение
- скрипт содержит ошибки
- в файле .htaccess прописана неправильная инструкция
Рассмотрим эти случаи. Когда в файле .htaccess неправильно прописана директива либо её параметр, тогда в лог-файлах, а именно error.log, Вы найдете приблизительно такой отчет:
[Tue Mar 01 20:50:56 2011] [alert] [client 77.47.164.175] /home/example/data/www/example.in.ua/.htaccess: Invalid command 'DirctoryIndex', perhaps misspelled or defined by a module not included in the server configuration
Данный отчет говорит, в какой директиве была совершена ошибка (DirctoryIndex место DirectoryIndex) которую и нужно исправить.
Если ошибка возникла при обращении к скрипту, то нужно проверить права на этот скрипт, они должны быть 755. Если это не так, то права можно сменить через панель управления, фтп либо через shell командой
chmod 755 filename
*настройки указаны для домена-примера example.in.ua на сервере h56.hvosting.ua (аккаунт под названием example), при работе с хостингом используйте свои данные.