RewriteRule для всего VirtualHosts на Ubuntu 14.04?

После a2enmod rewrite, Я записал файл /etc/apache2/conf-available/myspecific_rewrite.conf :

RewriteEngine on
RewriteRule ^/test(/.*)?$ http://anothersite.tld/test$1 [R]
RewriteRule ^/test2(/.*)?$ http://anothersite2.tld/test [R]

Затем я a2enconf myspecific_rewrite и корректная символьная ссылка создается в /etc/apache2/conf-enabled.

Проблема состоит в том, что этот conf не работает: переписывание не активно.

Я хочу, которые переписывают, чтобы быть активными для всех моих виртуальных хостов. Этот файл, который я записал, определяет RewriteRules за пределами a <VirtualHost>... существует ли способ сделать это работой?

0
задан 12 June 2014 в 13:22
2 ответа

можно использовать include в каждой директиве VirtualHost, указывающей на файл.

Source for the info: SO комментарий Джереми Бурка

альтернативный вариант можно использовать

RewriteEngine On

RewriteOptions Inherit

на каждом VirtualHost

Source: тот же вопрос и Apache Docs for mod_rewrite

2
ответ дан 4 December 2019 в 12:31

Вот что я наконец-то сделал : используя директивы mod_alias's Redirect и RedirectMatch.

Вот мой конфет-файл :

Redirect permanent /test http://anothersite.tld/test
RedirectMatch permanent ^/test2(/.*)?$ http://anothersite2.tld/test

Advantage : Мне больше не нужен mod_rewrite.

.
1
ответ дан 4 December 2019 в 12:31

Теги

Похожие вопросы