наверх

Что такое .htaccess? Регулярные выражения

.htaccess — это файл дополнительной конфигурации веб-сервера Apache. Он позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера.

Файл .htaccess может быть размещен в любом каталоге сайта. Настройки этого файла действуют на все файлы в текущем каталоге и во всех его подкаталогах (если эти настройки не переопределены настройками нижележащих файлов .htaccess).

При работе с файлом .htaccess нужно быть предельно аккуратным. Любая ошибка, любая неточность может привести к 500 ошибке(ошибка сервера).

Коментарии в .htaccess пишуться с помощью знака #:

Регулярные выражения. Синтаксис регулярных выражений

Некоторые директивы позволяют использовать регулярные выражения. В них можно использовать следующие метасимволы и специальные конструкции:

  1. Круглые скобки () используются для выделения групп символов.

  2. Символ ^ обозначает начало строки.

  3. Символ $ обозначает конец строки.

  4. Символ . обозначает любой символ.

  5. Символ | обозначает альтернативу( логическое ИЛИ).

  6. Символ ? ставится после символа (или группы символов), который может как присутствовать, так и отсутствовать. Например, выражению «jpe?g» подойдет и строка «jpg», и строка «jpeg».

  7. Символ * ставится после символа (или группы символов), который может отсутствовать или присутствовать неограниченное число раз подряд. Например, выражению «jpe*g» подойдут строки «jpg», «jpeg» и «jpeeeeeeg».

  8. Символ + действует аналогично символу * с той лишь разницей, что предшествующий ему символ обязательно должен присутствовать хотя бы один раз. Например, выражению «jpe+g» подойдут строки «jpeg» и «jpeeeeg», но не «jpg».

  9. Квадратные скобки [ ] используются для перечисления допустимых символов.Можно перечислять символы подряд или указать диапазон через тире. Например, выражение «[0-9]» равносильно выражению «[0123456789]».

  10. [^] — значение можно инвертировать, если после первой скобки указать символ ^. Таким образом можно указать символы, которых не должно быть на этом месте в строке.Например, выражение «[^0-9]+» означает строку из любых символов, кроме цифр.

  11. Символ \ ставится перед спецсимволами, если они нужны в своем первозданном виде.

  12. {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 — Сервер получил некорректный ответ от шлюза, к которому он обратился, пытаясь выполнить запрос.