У вас есть два варианта:
- Измените конфигурацию Tomcat, чтобы смонтировать WAR в корневом каталоге. Как это сделать, зависит от того, как именно вы развертываете свое приложение. Это более чистый подход, если не существует какого-либо препятствующего фактора.
- Решите проблему на стороне Apache, используя mod_rewrite для перезаписи URL, начиная с / to / foo, после чего он будет передан через JkMount в Tomcat
Для второго варианта ваша конфигурация Apache будет выглядеть примерно так:
# Turn on mod_rewrite
RewriteEngine On
# This is the rule. Use regexp to match any URL beginning with /, and rewrite it to
# /foo/remaining_part_of_URL. The [PT] (pass-through) is necessary to make rewritten
# requests go through JkMount
RewriteRule ^/(.*) /foo/$1 [PT]
# Forward all URLs starting with foo to Tomcat
JkMount /foo/* worker
(на самом деле это не проверено, надеюсь, оно работает как есть!). Вам также может понадобиться включить mod_rewrite в вашем Apache (проверьте ваш дистрибутив, ответом может быть каталог с поддержкой модов).
И если вам нужно больше узнать о mod_rewrite (довольно мощном звере), перейдите сюда:
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewriterule