mod-rewrite учебник
Начало работы с mod-rewrite
Поиск…
замечания
mod_rewrite - это модуль для Apache. Этот модуль используется для внутренних переписываний (внешние запросы, которые должны загружать другой ресурс) и внешние перенаправления (внешние запросы, которые должны заставить клиента запрашивать другой URL-адрес).
mod_rewrite обеспечивает более тонкий контроль над внутренними перезаписываниями, чем mod_alias , поскольку последний может отображать запросы только на имена файлов. mod_rewrite предоставляет некоторые средства контроля доступа , но это обычно лучше делать с mod_authz_core и mod_authz_host . mod_rewrite обеспечивает некоторую интеграцию с mod_proxy , но по соображениям производительности эта интеграция не должна использоваться, и вместо этого следует использовать ProxyPass
и ProxyPassMatch
последнего модуля.
mod_rewrite может быть настроен таким образом, чтобы директивы могли быть помещены в файлы конфигурации динамического (.htaccess). По соображениям производительности всегда следует использовать статический (httpd.conf) файл конфигурации, когда это возможно.
Версии
Версия | Дата выхода |
---|---|
2,2 | 2015-07-17 |
2,4 | 2016-07-05 |
Монтаж
mod_rewrite должен быть включен до использования на сервере Apache.
Debian / Ubuntu
Запустить a2enmod rewrite
Затем перезапустите Apache с service apache2 restart
Общий случай
Добавьте или раскомментируйте следующую строку в статическом файле конфигурации (например, httpd.conf
):
LoadModule rewrite_module modules/mod_rewrite.so
Затем перезапустите Apache.
Использование mod_rewrite в статическом файле конфигурации
Добавьте следующую директиву перед использованием любой другой директивы mod_rewrite (RewriteRule, RewriteCond, RewriteBase или RewriteMap).
RewriteEngine on
По умолчанию двигатель выключен. Директивы mod_rewrite, обнаруженные при выключенном двигателе, игнорируются. Включите его из контекста виртуального хоста при использовании виртуальных хостов или из определенных контекстов каталога, если это применимо.
Использование mod_rewrite из файлов динамической конфигурации
Важно: использование динамических файлов конфигурации (.htaccess) - большой успех. Когда у вас есть доступ к статическому файлу конфигурации (httpd.conf или что-то подобное), вы должны использовать это вместо этого.
В статическом файле конфигурации разрешите динамическим файлам конфигурации переопределять «Fileinfo» с помощью AllowOverride
. Эта директива должна быть помещена в контекст каталога:
AllowOverride FileInfo
Имя файла, используемое для файлов динамической конфигурации, определяется директивой AccessFileName
. По умолчанию динамические файлы конфигурации представляют собой скрытые файлы, называемые .htaccess
.
В верхней части каждого файла динамической конфигурации, содержащего директивы mod_rewrite, добавьте следующую директиву:
RewriteEngine on