Перезапись URL для tomcat через AJP-коннектор Apache
Я попытался несколько попыток решить эту проблему, но все они сошли на нет.
В настоящее время у меня есть настройки Apache для пересылки всех URL-адресов на и после /portal/
тег к коту. К сожалению, Tomcat получает эти запросы через /portal/appName
, подкаталог в webapps
а не webapps
корневой каталог, где развернуты мои войны.
Есть ли простое решение этого, которого я не вижу? Я пытался использовать mod_rewrite для ^/portal/ $ /
но это не дает ожидаемых результатов (возможно, я делаю это неправильно?).
1 ответ
С mod_jk вы захотите сделать что-то вроде этого:
RewriteEngine On
RewriteRule ^/(.*)$ /portal/$1 [PT]
Нужен флаг PT, чтобы он прошел через и нажал на JkMount. Это перезапишет все, чтобы перейти к контексту портала в tomcat, что хорошо, если у вас есть только одно приложение в tomcat, но если вы начнете добавлять другие контексты, вам нужно будет добавить RewriteCond. Для полной документации mod_rewrite смотрите:- http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html.
Вам также необходимо добавить это в вашу конфигурацию mod_jk
JkOptions +ForwardURICompat
Как и в случае с Apache, пока вы выясняете, что происходит, логирование - ваш друг:-
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel debug