| Регулярные выражения |
| ^ |
Начало строки |
| $ |
Конец строки |
| . |
Любой одиночный символ |
| (a|b) |
«a» или «b» |
| (…) |
Группа |
| [abc] |
«a» или «b» или «c» |
| [^abc] |
Не «a», не «b» и не «c» |
| \s |
Пробел |
| a? |
0 или 1 символ «a» |
| a* |
0 или больше «a» |
| a*? |
0 или больше «a», нежадный |
| a+ |
1 или больше «a» |
| a+? |
1 или больше «a», нежадный |
| a{3} |
Ровно 3 «a» |
| a{3,} |
3 или больше «a» |
| a{3,6} |
От 3 до 6 «a» |
| a{3,6}? |
От 3 до 6 «a», нежадный |
| !(…) |
Префикс «НЕ», отрицание |
| Флаги RewriteRule |
| R[=код] |
Редирект, возможно с кодом |
| F |
Доступ запрещен |
| G |
«Мертвая страница», удалена |
| P |
Прокси |
| L |
Последнее правило |
| N |
Следующий круг (перезапуск правил) |
| C |
Не «a», не «b» и не «c» |
| T=тип |
Установить MIME тип |
| NS |
Пропустить внутренний подзапрос |
| NC |
Не учитывать регистр |
| QSA |
Добавить строку запроса |
| NE |
Не экранировать при выходе |
| PT |
Пропустить через следующий |
| S=x |
Пропустить следующие x правил |
| E=var:val |
Установить переменную окружения |
| Флаги RewriteCond |
| NC |
Не учитывать регистр |
| OR |
Комбинировать по принципу «ИЛИ» |
| Коды перенаправления |
| 301 |
Перенесен постоянно |
| 302 |
Перенесен временно |
| 403 |
Доступ запрещен |
| 404 |
Страница не найдена |
| 410 |
«Мертвая страница», удалена |
|
| Пример: новый домен |
| # Перенаправление с domain.com на domain2.com |
| RewriteCond %{HTTP_HOST} ^www\.domain.com$ [NC] |
| RewriteRule ^(.*) http://domain2.com/$1 [R=301,L] |
| Пример: страница временно перенесена |
| # Перенаправление с domain.com/page.html на domain.com/new_page.html |
| RewriteRule ^page.html$ new_page.html [R,NC,L] |
| Пример: человеко-понятные URL (без строки запроса) |
| # Перенаправление с domain.com/category/ на domain.com/categories.php?name=category |
| RewriteRule ^([A-Za-z0-9-]|+)?$ categories.php?name=$1 [L] |
| Пример: блокировать спам |
| # Блокировать, если URL содержит «viagra» или «xxx» |
| RewriteCond %{HTTP_REFERER} (viagra) [NC,OR] |
| RewriteCond %{HTTP_REFERER} (xxx) [NC] |
| RewriteRule .* — [F] |
|
| Переменные: запрос |
| %{REMOTE_ADDR} |
| %{REMOTE_HOST} |
| %{REMOTE_USER} |
| %{REMOTE_IDENT} |
| %{REQUEST_METHOD} |
| %{SCRIPT_FILENAME} |
| %{PATH_INFO} |
| %{QUERY_STRING} |
| %{AUTH_TYPE} |
| Переменные: сервер |
| %{DOCUMENT_ROOT} |
| %{SERVER_ADMIN} |
| %{SERVER_NAME} |
| %{SERVER_ADDR} |
| %{SERVER_PORT} |
| %{SERVER_PROTOCOL} |
| %{SERVER_SOFTWARE} |
| Директивы |
| RewriteEngine |
| RewriteOptions |
| RewriteLog |
| RewriteLogLevel |
| RewriteLock |
| RewriteMap |
| RewriteBase |
| RewriteCond |
| RewriteRule |
|
| Переменные: HTTP-заголовки |
| %{HTTP_USER_AGENT} |
| %{HTTP_REFERER} |
| %{HTTP_COOKIE} |
| %{HTTP_FORWARDED} |
| %{HTTP_HOST} |
| %{HTTP_PROXY_CONNECTION} |
| %{HTTP_ACCEPT} |
| Переменные: время |
| %{TIME_YEAR} |
| %{TIME_MON} |
| %{TIME_DAY} |
| %{TIME_HOUR} |
| %{TIME_MIN} |
| %{TIME_SEC} |
| %{TIME_WDAY} |
| %{TIME} |
| Переменные: специальные |
| %{API_VERSION} |
| %{THE_REQUEST} |
| %{REQUEST_URI} |
| %{REQUEST_FILENAME} |
| %{IS_SUBREQ} |
|
Комментарии 0