2011-12-14 19 views
0

私はmod-jk経由でTomcatのApacheフロントエンドで実行しているstrutsアプリケーションを持っています。modはTomcat + Apache用のホームURLを書き換えます

私はmod-rewriteを使用して、strutsによって生成されるいくつかのアクションURLを消去しようとしています。

例: RewriteRule ^/msn/aboutus$ /msn/user.do?action=aboutus [PT,L]を使用してhttp://www.demo.com/context/aboutusからリライト(正常に動作します)

http://www.demo.com/context/user.do?action=aboutus

問題:私は動作しません。この RewriteRule ^/$ /context/userdo?action=home [PT,L]を試してみましたhttp://www.demo.com/context/user.do?action=home(ホームページ)

http://www.demo.comに書き換えるしたいと思います。

FYI

すべてのCSS、JSとのリンクは相対パス上にあります。

のDirectoryIndexが

Tomcatのバージョン5.5(それはMOD-書き換え動作を変更していますか?)のindex.html上で、アプリケーションがURLrewriteフィルタにはない

public_html/context/フォルダ(複数のデプロイメント)でWARファイルを爆発経由で展開しますthisに従ってコンテキスト名を削除するのに役立ちます。

ログ

私は疲れて、警告エラーメッセージを与えるものではありません、ログファイル(スナップショット)を見て持っています。

(3) applying pattern '^/$' to uri '/context/jsps/images/abc.png' 
(3) applying pattern '^/abc/aboutus$' to uri '/abc/jsps/images/abc.png' 
(3) applying pattern '^/abc/home$' to uri 
'/abc/jsps/images/abc.png' 

誰でも私に何か問題があったでしょうか?その問題をどのように解決できますか?アパッチからTomcatに/*

答えて

1

は、私はそれはあなたがすべてなどを転送しているのmod_jk使用しているためのmod_rewriteのルールよりも優先を取っているのmod_jkある^/$を書き換えるあなたのケースで考えます。これらのURLの書き換えを正しく行うために、私はURLRewriteFilterをTomcatアプリ内で使用することを提案します。

+0

がインストールされています。私のURLの書き換えはすべてコンテキストに基づいているようです。 '/ abc/rewrite'などです。コンテキスト名を削除するにはどうしたらいいですか? – Will

+0

あまりにも遅く返答して申し訳ありません。コンテキストを削除するには、単に ''を 'urlrewrite.xml'のルートタグとして使用します – anubhava