Mod-Rewrite
Ubuntu 14.04 上所有虛擬主機的 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]
然後我
a2enconf myspecific_rewrite
和正確的符號連結在/etc/apache2/conf-enabled
.問題是這個配置不起作用:重寫不活躍。
我希望重寫對我的所有虛擬主機都有效。我寫的這個文件
RewriteRule
在 a … 之外定義了 s<VirtualHost>
有沒有辦法讓它工作?
您可以
include
在每個指向該文件的 VirtualHost 指令中使用。您可以使用的替代方案
重寫引擎開啟
RewriteOptions 繼承
在每個虛擬主機上
這是我最終所做的:使用mod_alias
Redirect
和RedirectMatch
指令。這是我的conf文件:
Redirect permanent /test http://anothersite.tld/test RedirectMatch permanent ^/test2(/.*)?$ http://anothersite2.tld/test
優點:我不再需要 mod_rewrite 了。