Apache mod_rewrite
mod_rewrite предоставляет способ динамического изменения входящих запросов URL на основе правил регулярных выражений. Это позволяет отображать произвольные URL в вашей внутренней структуре URL любым желаемым образом.
Он поддерживает неограниченное количество правил и неограниченное количество присоединенных условий правил для каждого правила, обеспечивая действительно гибкий и мощный механизм манипулирования URL. Манипуляции с URL могут зависеть от различных тестов: переменных сервера, переменных среды, заголовков HTTP, временных меток, запросов к внешним базам данных и различных других внешних программ или обработчиков, которые могут быть использованы для достижения точного соответствия URL.
Правила переписывания могут работать с полными URL, включая часть path-info и строку запроса, и могут использоваться в контексте всего сервера (httpd.conf), в контексте виртуального хоста (<VirtualHost> блоки) или в контексте каталога (.htaccess файлы и <Directory> блоки). Результат переписывания может привести к дальнейшим правилам, внутренним подпроцессам, внешнему перенаправлению запроса или прокси-пропусканию в зависимости от того, какие флаги вы прикрепляете к правилам.
Поскольку mod_rewrite настолько мощный, он действительно может быть довольно сложным. Этот документ дополняет справочную документацию и пытается уменьшить эту сложность, а также предоставляет подробно прокомментированные примеры общих сценариев, которые можно обработать с помощью mod_rewrite. Но мы также пытаемся показать, когда не следует использовать mod_rewrite и использовать другие стандартные функции Apache вместо этого, таким образом избегая этой излишней сложности.
- Справочная документация mod_rewrite
- Введение в регулярные выражения и mod_rewrite
- Использование mod_rewrite для перенаправления и переназначения URL
- Использование mod_rewrite для управления доступом
- Динамические виртуальные хосты с mod_rewrite
- Динамическое проксирование с mod_rewrite
- Использование RewriteMap
- Расширенные методы
- Когда НЕ следует использовать mod_rewrite
- Флаги RewriteRule
- Технические подробности
© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/rewrite/