6

ApacheとTomcatを実行していて、mod_jkそれらをバインドするために使用しています。「tc1」というTomcatワーカーがあり、次の設定がありますVirtualHost

JkMount   /* tc1
JkUnMount /*.png tc1
JkUnMount /*.gif tc1
JkUnMount /*.css tc1
JkUnMount /*.js tc1

このようにして、Tomcatは静的ファイルに対するものを除いてすべての要求を処理します。

今、私mod_rewriteは次のような非常に単純なことを使用して実行したいと思います。

RewriteEngine On
RewriteRule ^/foo$ /bar [L]

「/foo」の動的ページビューを「/bar」に書き換えますが、によって処理されるすべてのURLがになっていないため、機能しませmod_rewritemod_jk

Apache Tomcatコネクタのドキュメントを読み、すべてを試しましたJkOptionsが、何も変更されていません。

誰かがこれを解決する方法を知っていますか?

mod_jkmod_rewriteロードの順序と宣言の順序は、URL処理で何らかの役割を果たしますか?

ありがとう

4

1 に答える 1

12

これは奇妙なことです。デフォルトでは、RewriteRuleaはクライアント側のリダイレクトを送信するため、クライアントは/ barに2番目の要求を行う必要があります。これは、によってキャッチされる必要がありますJkMount。アクセスログショーには、/fooのリクエストとリクエスト/barも表示されますか?

代わりに次のルールを試してください。

RewriteRule ^/foo$ /bar [PT,L]

「PT」は「パススルー」を意味し、リダイレクトを送信せずにURLをその場で変更し、他のモジュールが調べられるようにする書き換えボッジです。

于 2009-08-17T18:40:58.123 に答える