Шпаргалка по mod_rewrite
Шпаргалка по mod_rewrite содержит список флагов для директив RewriteRule и RewriteCond, список серверных переменных, руководство по регулярным выражениям и несколько примеров общих правил. Шпаргалка представлена в виде таблицы, помещающейся на одном печатном листе формата A4. Создана под лицензией Creative Commons на базе шпаргалки, автором которой является Dave Child (подробнее).
- Скачать в PDF
~79 кб - Скачать в PNG
~79 кб
Синтаксис регулярных выражений
Интерпретация URL с помощью модуля mod_rewrite вообще говоря требует основательных знаний и понимания регулярных выражений. В директиве RewriteRule обширно применяются шаблоны регулярных выражений. В этом руководстве схематично описаны основы их синтаксиса.
Флаги RewriteRule и RewriteCond
К правилам mod_rewrite могут прилагаться флаги, сообщающие серверу, как именно должна производиться обработка URL. Например, флаг «L» говорит серверу прекратить обработку остальными правилами, если обозначенное правило было применено.
Условия mod_rewrite также могут включать в себя флаги. Опять же, они сообщают серверу, как нужно их интерпретировать. Флаг «NC» показывает, что выполнение условия не должно зависеть от регистра, а флаг «OR» между условиями говорит серверу, что следующее правило должно быть применено, если любое из предшествующих условий выполнено. По умолчанию же mod_rewrite работает так, что правило срабатывает, только если все предыдущие условия выполнены.
Коды заголовков перенаправления
Иногда при перенаправлении пользователя с помощью mod_rewrite, необходимо отправить ему код статуса. Этот код интерпретируется браузером, и может обозначать, что пользователь был направлен по новому адресу, страница временно недоступна или была удалена и т. п. В этой части шпаргалки собраны наиболее используемые коды статусов с их значениями.
Примеры правил
В этой части приведены несколько случаев применения mod_rewrite вместе с правилами, необходимыми для достижения желаемого результата.
Серверные переменные
Иногда необходимо интерпретировать URL, основываясь на переменных вроде адреса, с которого был совершен переход, или используемого браузера. Эти переменные вполне могут быть использованы в mod_rewrite (включая директивы RewriteRule и RewriteCond). Все они указаны этой части шпаргалки.
Директивы
Модуль mod_rewrite предоставляет серверу набор инструкций, называемых директивами. Например, «RewriteEngine On» сообщает Apache о необходимости обработать правила RewriteRules, если таковые найдутся. Здесь просто приведен список директив, применяемых в mod_rewrite.