Ubuntu 14.04上的所有VirtualHost的RewriteRule?

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] 

然后我在/etc/apache2/conf-enabled创build了a2enconf myspecific_rewrite和正确的符号链接。

问题是这个conf不起作用:重写是不活跃的。

我想要重写所有我的虚拟主机。 我写的这个文件定义了一个<VirtualHost>之外的RewriteRule …有没有办法让它工作?

你可以在每个指向该文件的VirtualHost指令中使用include

信息来源: 由Jeremy Bourque评论

替代你可以使用

RewriteEngine On

RewriteOptionsinheritance

在每个VirtualHost上

来源:相同的问题和Apache Docs的mod_rewrite

这是我最后做的:使用mod_alias的RedirectRedirectMatch指令。

这是我的conf文件:

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

优点:我不需要mod_rewrite了。