2013-04-25 19 views
12

比方说,我有以下配置:的ProxyPass和DocumentRoot的一个域

<VirtualHost domain.com> 
    # Server names, admins, logs etc... 

    ProxyVia On 
    ProxyRequests Off 
    <Location "/"> 
     ProxyPass http://localhost:8080/tomcat-webapp/ 
     ProxyPassReverse http://localhost:8080/tomcat-webapp/ 
     Order allow,deny 
     Allow from all 
    </Location> 
</VirtualHost> 

现在,我要地址domain.com/forum显示我的MyBB论坛,哪些文件是内部​​目录conent。如何做到这一点?

回答

26

其实,我解决了这个问题,下面的代码:

ProxyPass /forum ! 
ProxyPass/http://localhost:8080/tomcat-webapp/ 
ProxyPassReverse/http://localhost:8080/tomcat-webapp/ 
Alias /forum /var/www/forum 
+0

关于这个问题的任何想法?谢谢! http://stackoverflow.com/questions/31271434/apache-mod-proxy-with-tomcat-and-svn – 2015-07-08 06:45:56

3

它推荐使用mod_rewrite来执行ProxyPass而不是ProxyPass/ProxyPassReverse命令。

试着这么做:

RewriteRule ^/forum - [L] 
RewriteRule ^/(.*) http://localhost:8080/tomcat-webapp/$1 [P,L] 
ProxyPassReverse/ http://localhost:8080/tomcat-webapp/ 
+0

这需要设置'Alias/forum/var/www/forum'才能让重写规则去任何地方。 – 2017-08-09 22:51:03

0

我用:

<VirtualHost *:80> 
#other irrelevant configs here 
ProxyPass /forum http://localhost:8080/myBB 
ProxyPassReverse /forum http://localhost:8080/myBB 
ProxyPass/http://localhost:8081/tomcat-app 
ProxyPassReverse/http://localhost:8081/tomcat-app 
</VirtualHost> 

你不必说了“tomcat-app”如果你的tomcat应用程序是根应用程序。