Vou colocar minha cabeça acima do parapeito com essa resposta - afinal, uma resposta é deletável!
O Apache processa seus módulos em uma ordem não muito bem definida. Você pode visualizar a ordem de processamento ativando o módulo mod_info
. Em uma instalação do Fedora 22, isso surgiu com o seguinte (extact):
Post-Read Request:
-10 mod_http2.c
00 mod_headers.c
00 mod_remoteip.c
00 mod_proxy.c
10 mod_auth_digest.c
10 mod_http2.c
10 mod_reqtimeout.c
10 mod_setenvif.c
10 mod_unique_id.c
Header Parse:
10 mod_setenvif.c
HTTP Scheme:
30 http_core.c
Default Port:
30 http_core.c
Quick Handler:
00 mod_cache.c
00 mod_lua.c
Translate Name:
-1 mod_lua.c
00 mod_rewrite.c
00 mod_proxy.c
00 mod_proxy_express.c
10 mod_alias.c
10 mod_userdir.c
10 mod_vhost_alias.c
10 mod_lua.c
21 mod_lua.c
30 core.c
Você notará que mod_proxy.c
é o primeiro da lista.
Meu (muito limitado) entendimento é que suas configurações de proxy serão processadas primeiro, ponto no qual seus arquivos WAR são retornados e, portanto, a reescrita nunca é aplicada.
Existem maneiras de usar o proxy usando apenas mod_rewrite
e o sinal [P]
, conforme explicado na documentação do apache aqui . Pode ser útil neste cenário.