代理模式下的Apache mod_rewrite,.htaccess和ProxyPassReverse

在.htaccess文件中,我有这样的代理到Tomcat的Apache:

RewriteRule (.*) http://localhost:8080/tomcat-app/$1 [P] 

所有redirect以及HTML文件中的内部链接直接转到Tomcat应用程序,而不是Apache。

所以我会使用ProxyPassReverse等来正确翻译,但显然我不允许在.htaccess文件中使用该指令。 我真的不想把它们放到主Apacheconfiguration中,因为这意味着每当有变化时都要重新启动Apache。 这就是为什么我喜欢RewriteRole [P]:与ProxyPass不同,它可以放入.htaccess。

我能做什么来模拟.htaccess文件中的ProxyPassReverse? 或者更具体地说,不需要重新启动任何改变?

使用你的主configuration文件 – 你可以通过向进程发送一个USR1信号来做一个优雅的configuration重载 – 你的apache init脚本应该有一个reload命令来做这个。

 /etc/init.d/apache2 reload