Getting Things Done!

大きな夢は目の前にある1つ1つの小さなことをこなしてこそ達成される

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサー広告 |

Apache+Tomcat(Struts)環境でmod_rewriteで同一ドメインでフォワードさせる方法

Apache+Tomcat(Struts)連携をしているときの話。
Tomcatの設定を全くいじらずにApacheの設定だけで以下を行う方法。

Actionに紐付いた拡張子(.doやjspxなど)以外の特定の拡張子を.doに変換させてTomcatで処理させて、戻りはもとの拡張子(.doや.jspx以外)でブラウザに戻したい。


以下の場合正しく遷移しますがリダイレクト(フォワードではない)されてブラウザへは.doで戻ります。

RewriteEngine on
RewriteRule ^/(.*)\.xxx(.*) http://mydomain.com/$1.do$2 [L]



同一ドメインなのでhttp://mydomain.comは不要と判断して以下のようにすると望む結果が得られません。Apache内で閉じていれば以下の記述は全く問題ないのですがTomcatとJK2で連携しているときに問題になります。

RewriteEngine on
RewriteRule ^/(.*)\.xxx(.*) /$1.do$2 [L]



PT(Path Trough)を追加すると望む結果になります。理由は各自調べてください。


RewriteEngine on
RewriteRule ^/(.*)\.xxx(.*) /$1.do$2 [L,PT]



またパラメータを引き継ぐ場合にはQSAも追加しておきましょう。


RewriteEngine on
RewriteRule ^/(.*)\.xxx(.*) /$1.do$2 [L,PT,QSA]



注意:PTを指定した場合Lは不要かもしれません。

困った人は読めば分かると思いますので「その人達用」ということで。




関連記事
スポンサーサイト

コンピュータ | コメント:0 | トラックバック:0 |
<<AdroidでHTML5のvideoタグでm4vの動画が再生されるはずだがされない | HOME | 名言と迷言>>

この記事のコメント

コメントの投稿















コメント非公開の場合はチェック

この記事のトラックバック

| HOME |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。