conflitti mod_jk il quale mod_rewrite
-
18-09-2019 - |
Domanda
Ho un Apache e Tomcat in esecuzione e io uso mod_jk
per legarli. Ho un operaio Tomcat denominata "TC1" e la seguente configurazione sul mio VirtualHost
:
JkMount /* tc1
JkUnMount /*.png tc1
JkUnMount /*.gif tc1
JkUnMount /*.css tc1
JkUnMount /*.js tc1
In questo modo Tomcat serve tutte le richieste a parte quelli per i file statici.
Ora voglio usare mod_rewrite
e fare qualcosa di molto semplice, come ad esempio:
RewriteEngine On
RewriteRule ^/foo$ /bar [L]
per riscrivere la pagina visualizzata dinamica a "/ foo" a "/ bar", ma non funziona perché tutti gli URL trattati dalla mod_rewrite
non finiscano in mod_jk
.
Ho letto la documentazione Apache Tomcat connettore e provato tutti del JkOptions
, ma nulla è cambiato.
Qualcuno sa come risolvere questo?
Lo dell'ordine e le dichiarazioni di carico mod_jk
e mod_rewrite
ordinare gioca alcun ruolo nella trasformazione URL?
grazie
Soluzione
È strano, perché di default un RewriteRule
invia un reindirizzamento sul lato client, in modo che il cliente dovrebbe fare una seconda richiesta a / bar che dovrebbe essere catturato dal vostro JkMount
. Il vostro accesso log mostra mostra la richiesta di /foo
e la richiesta di /bar
anche?
Prova questa regola invece:
RewriteRule ^/foo$ /bar [PT,L]
Il "PT" significa "pass-through", ed è un bodge riscrittura che permette di mutare l'URL in situ e permette di altri moduli ottenere uno sguardo dentro, senza l'invio di un reindirizzamento.