Назад | Перейти на главную страницу

правила mod_rewrite в конфигурации httpd

Как и где мне поместить свои правила mod_rewrite в конфигурацию httpd, чтобы они анализировались только один раз при запуске, а не каждый раз при чтении файла в моем веб-каталоге.

Дополнительная информация:

Спасибо

Я не уверен, что понял вопрос, но если вопрос: «В настоящее время у меня есть правило перезаписи в файле .htaccess, и я хочу поместить их во всю конфигурацию apache». вы должны добавить <Directory /path/to/directory/where/htaccess/is> в конфигурации apache и поместите в нее содержимое файла .htaccess.

Если .htaccess находится в / srv / web / site1 / folder1 /, добавьте следующее в файл конфигурации apache

<Directory /srv/web/site1/folder1>
Paste content of .htaccess here
</Directory>

Здесь есть все ответы - просто они не все вместе.

Как утверждает memnoch_proxy:

«Правила, измененные в файлах .htaccess, считываются при каждом запросе. /Etc/httpd/httpd.conf и /etc/httpd/conf.d/* - нет. Я инициирую новые изменения в этих файлах с помощью службы httpd reload, которая отправляет SIGUSR1 рабочим, чтобы перезапустить изящно. "

Мне кажется, что вы используете файлы .htaccess для определения правил перезаписи, которые применяются к вашему сайту и / или структуре папок.

Чтобы правила не перечитывались и не интерпретировались каждый раз при доступе к каталогу или странице, правила необходимо поместить в центральные файлы конфигурации Apache для вашего веб-сайта.

Расположение этих правил варьируется в зависимости от того, как системный администратор разместил систему; в среде Red Hat Enterprise Linux я бы рекомендовал вам поместить их в свой файл с именем

rewrite-rules.conf
located in
/etc/httpd/conf.d

В системе со сборкой Apache по умолчанию вам, возможно, придется разместить их в конце

httpd.conf
file located in
/usr/local/apache/conf

В вашем файле httpd.conf добавьте что-то вроде «include mod_rewrite.conf». Затем в файле mod_rewrite.conf добавьте правила перезаписи.

Также убедитесь, что вы включили модуль mod_rewrite, если он не скомпилирован.

RewriteRules обрабатываются каждый раз при доступе к ресурсу на вашем сервере, к которому относятся правила. Независимо от того, где размещены правила, они будут анализироваться каждый раз.

Однако, если вы имеете в виду, что вам не нравятся накладные расходы на .htaccess, считываемые с диска при каждом запросе ресурса, тогда ответ radius - это то, что вы хотите, с дополнительной очевидной инструкцией по удалению файла .htaccess после размещения его содержимого. в основном файле конфигурации apache.