Хорошо, поэтому я хочу, чтобы веб-приложение, работающее в tomcat (5.5), работало за Apache 2 (если быть точным, 2.2.3), служащим из корня сайта (т.е. без контекста), с обслуживанием статического контента через apache.
Так что, если приложение работает под "/myapp
" на tomcat, я хочу использовать apache (плюс mod_rewrite
), чтобы заставить его вести себя так, как будто оно работает под "/
".
Mod_jk
настроен и работает нормально. Я могу получить доступ к приложению из "/myapp
", но не могу заставить работать последний бит. Ниже приведена конфигурация, которую я получил для mod_rewrite
, чтобы попытаться заставить это работать. Он корректно получает переписанные /static/
URL-адреса, чтобы заставить apache обслуживать их из распакованного веб-приложения, и если я включаю журнал перезаписи, я вижу, что он пытается передать все другие запросы на /myapp
через mod_jk
. Однако, похоже, что mod_jk не обрабатывает запрос впоследствии.
JkMount /myapp/* worker1
RewriteEngine On
# ensure static stuff gets served by apache
RewriteRule ^/static/(.*)$ /var/lib/tomcat5.5/webapps/myapp/static/$1 [L]
# everything else should go through tomcat
RewriteRule ^/(.*)$ /myapp/$1 [L,PT]
Когда я делал это с Apache 1 в прошлом, я должен был убедиться, что mod_jk
get загружен до mod_rewrite
, но я не могу достичь этого в Apache 2. Есть мысли? Как другие люди обычно делают это?