MOD_REWRITE. Полный обзор. Часть 1

MOD_REWRITE.  Полный обзор. Часть 1

Модуль mod_rewrite является частью серверного программного обеспечения Apache. Этот модуль использует механизм перезаписи URL “на лету” основанный на синтаксическом анализаторе регулярных выражений PCRE. Переписать правило можно используя файл httpd.conf или файл .htaccess.

Модуль mod_rewrite – это очень мощный модуль. Он обеспечивает возможность манипулирования URL-ом. С его помощью можно выполнить почти все типы перезаписи URL, которые могут потребоваться. Модуль mod_rewrite использует лексику регулярных выражений совместимых с языком Perl.

Ниже представлен минимальный набор символов, необходимых для составления регулярных выражений.

СимволЗначениеПример
.Соответствует любому одному символуВыражению c.t будут соответствовать cat, cot, cut и т.д.
+Повторение предыдущего совпадения один или несколько разВыражению a+ соответствуют строки a, aa,aaa и т.д.
*Повторение предыдущего совпадения 0 или более разa* похоже на предыдущий пример с a+, но в данном случае пустая строка тоже попадёт под соответствие.
?Делает соответствие необязательнымcolou?r будет соответствовать как color так и colour
\Экранирование следующего символа\. будет соответствовать . (точка), а не один символ, как описано в начале.
\" будет соответствовать "
^Называется якорем, соответствует началу строки^a Соответствует строке, которая начинается с a
$Другой якорь, совпадающий с концом строкиa$ Соответствует строке, которая заканчивается на a
( )Группирует несколько символов в одну единицуВыражению (ab)+ будет соответствовать строка ababab – то есть + применяется к группе.
[ ]Класс символов – соответствует одному из символовВыражению c[uoa]t будут соответствовать следующие строки cut, cot или cat
[^ ]Отрицательный класс символов – соответствует любому не указанному символуВыражению c[^/]t будут соответствовать cat или c=t, но строка c/t под соответствие не попадает, так как символ “/” указан в квадратных скобках
!Признак отрицания. Это означает, что строка будет считаться совпадающей только в том случае, если она не соответствует остальной части выражения.Выражению !(ab) будут соответствовать все строки, кроме строки ab

Как видите, нет ничего сложного. Стоит помнить, что все эти символы можно использовать как отдельно от остальных, так и сочетать друг с другом.

Это была первая часть обзора модуля mod_rewrite. Во второй части будут рассмотрены особенности директивы “RewriteRule”.

You may also like...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Sign up
Lost your password? Please enter your username or email address. You will receive a link to create a new password via email.