2013-04-25 20 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應用程序是根應用程序。