さて、Tomcat(5.5)で実行されているWebアプリを、サイトのルートから(つまり、コンテキストなしで)提供するApache 2(正確には2.2.3)の背後で実行し、静的コンテンツをApache経由で提供したいと思います。
そのため、Tomcatでアプリが「/myapp
」の下で実行されている場合は、代わりにapache(プラスmod_rewrite
)を使用して、「」の下で実行されているかのように動作さ/
せます。
Mod_jk
セットアップと動作は正常です。「」からアプリにアクセスできます/myapp
が、最後の部分がうまく機能しません。以下は、これを機能させるために私が持ってmod_rewrite
いる構成です。正しくリライト/static/
URLを取得して、解凍されたWebアプリから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]
過去にapache1でこれを行ったときは、mod_jk
前にgetがロードされていることを確認する必要がありましたが、apache2mod_rewrite
ではこれを達成できないようです。他の人は通常どのようにこれを行いますか?