Ответ 1
Собственно, я решил эту проблему со следующим кодом:
ProxyPass /forum !
ProxyPass / http://localhost:8080/tomcat-webapp/
ProxyPassReverse / http://localhost:8080/tomcat-webapp/
Alias /forum /var/www/forum
Скажем, у меня есть следующая конфигурация:
<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
отображал conent моего форума MyBB, файлы которого находятся внутри каталога /var/www/forum
. Как это сделать?
Собственно, я решил эту проблему со следующим кодом:
ProxyPass /forum !
ProxyPass / http://localhost:8080/tomcat-webapp/
ProxyPassReverse / http://localhost:8080/tomcat-webapp/
Alias /forum /var/www/forum
Рекомендуем использовать mod_rewrite для выполнения ProxyPass вместо команды ProxyPass/ProxyPassReverse.
Попробуйте что-то вроде:
RewriteRule ^/forum - [L]
RewriteRule ^/(.*) http://localhost:8080/tomcat-webapp/$1 [P,L]
ProxyPassReverse / http://localhost:8080/tomcat-webapp/
Я использую:
<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 является корневым приложением.