23

假设我有以下配置:

<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 论坛的内容,该论坛的文件在/var/www/forum目录中。如何做到这一点?

4

3 回答 3

38

实际上,我用以下代码解决了这个问题:

ProxyPass /forum !
ProxyPass / http://localhost:8080/tomcat-webapp/
ProxyPassReverse / http://localhost:8080/tomcat-webapp/
Alias /forum /var/www/forum
于 2013-04-28T12:08:55.680 回答
3

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

尝试类似:

RewriteRule  ^/forum   -  [L]
RewriteRule  ^/(.*)    http://localhost:8080/tomcat-webapp/$1  [P,L]
ProxyPassReverse /     http://localhost:8080/tomcat-webapp/
于 2013-04-26T22:12:36.670 回答
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 应用程序是根应用程序,则不必说“tomcat-app”。

于 2017-03-03T22:22:26.907 回答