Что такое .htaccess? Регулярные выражения
.htaccess — это файл дополнительной конфигурации веб-сервера Apache. Он позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера.
Файл .htaccess может быть размещен в любом каталоге сайта. Настройки этого файла действуют на все файлы в текущем каталоге и во всех его подкаталогах (если эти настройки не переопределены настройками нижележащих файлов .htaccess).
При работе с файлом .htaccess нужно быть предельно аккуратным. Любая ошибка, любая неточность может привести к 500 ошибке(ошибка сервера).
Коментарии в .htaccess пишуться с помощью знака #:
1
|
#Комменттарий! В этой строке можно писать что угодно и сервером это никак обрабатываться не будет
|
Регулярные выражения. Синтаксис регулярных выражений
Некоторые директивы позволяют использовать регулярные выражения. В них можно использовать следующие метасимволы и специальные конструкции:
-
Круглые скобки () используются для выделения групп символов.
-
Символ ^ обозначает начало строки.
-
Символ $ обозначает конец строки.
-
Символ . обозначает любой символ.
-
Символ | обозначает альтернативу( логическое ИЛИ).
-
Символ ? ставится после символа (или группы символов), который может как присутствовать, так и отсутствовать. Например, выражению «jpe?g» подойдет и строка «jpg», и строка «jpeg».
-
Символ * ставится после символа (или группы символов), который может отсутствовать или присутствовать неограниченное число раз подряд. Например, выражению «jpe*g» подойдут строки «jpg», «jpeg» и «jpeeeeeeg».
-
Символ + действует аналогично символу * с той лишь разницей, что предшествующий ему символ обязательно должен присутствовать хотя бы один раз. Например, выражению «jpe+g» подойдут строки «jpeg» и «jpeeeeg», но не «jpg».
-
Квадратные скобки [ ] используются для перечисления допустимых символов.Можно перечислять символы подряд или указать диапазон через тире. Например, выражение «[0-9]» равносильно выражению «[0123456789]».
-
[^] — значение можно инвертировать, если после первой скобки указать символ ^. Таким образом можно указать символы, которых не должно быть на этом месте в строке.Например, выражение «[^0-9]+» означает строку из любых символов, кроме цифр.
-
Символ \ ставится перед спецсимволами, если они нужны в своем первозданном виде.
-
{1,9} — фигурные скобки означают диапозон количества символов, в данном случае допускается от 1 до 9 символов, длина строки из символов должна быть равна или более 1 или менее 9 символов.
Ошибки сервера Apache
На самом деле кодов статуса HTTP гораздо больше, но наиболее часто встречаются следующие:
200 — OK! — Запрос удовлетворен.
301 — Moved Permanently — Запрашиваемому ресурсу присвоен новый постоянный URL.
302 — Moved Temporarily — Запрашиваемый ресурс временно находится по новому URL.
400 — Bad Request — Запрос содержит синтаксическую ошибку и не может быть принят сервером.
401 — Unauthorized — Запрос требует аутентификации пользователя.
403 — Forbidden — Запрос понят сервером но не может быть принят по неопределенным причинам.
404 — Not Found — Сервер не нашел ничего, что могло бы соответствовать URI запроса. Сервер не указывает является ли эта ситуация постоянной или временной.
500 — Internal Server Error — Ошибка сервера. В данном случае следует проверить:
501 — Not Implemented — Сервер не обладает возможностями, необходимыми для реализации запроса.
502 — Bad Gateway — Сервер получил некорректный ответ от шлюза, к которому он обратился, пытаясь выполнить запрос.