web-dev-qa-db-ja.com

1つのドメイン上の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フォーラムの内容を表示するには、どのファイルが/var/www/forumディレクトリ。これを達成する方法は?

19
fracz

実際、私はこの問題を次のコードで解決しました:

ProxyPass /forum !
ProxyPass / http://localhost:8080/Tomcat-webapp/
ProxyPassReverse / http://localhost:8080/Tomcat-webapp/
Alias /forum /var/www/forum
33
fracz

ProxyPass/ProxyPassReverseコマンドの代わりにmod_rewriteを使用してProxyPassを実行することをお勧めします。

次のようなものを試してください:

RewriteRule  ^/forum   -  [L]
RewriteRule  ^/(.*)    http://localhost:8080/Tomcat-webapp/$1  [P,L]
ProxyPassReverse /     http://localhost:8080/Tomcat-webapp/
3
Welsh

私が使う:

<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」と言う必要はありません。

0
Calicoder