Url Rewrite Filter

Url Rewrite Filter その9 URLパラメタの置換

あるURLパラメタが特定の条件を満たしたときに、そのパラメタを書き換えて、 書き換えた後のパラメタを持つURLにリダイレクトさせてやるとします。 例えば、検索キーワードが半角カナを含む場合に、半角カナの部分を全て全角カナに置換してやるとかです。 そ…

http://nurucom-archives.hp.infoseek.co.jp/digital/escape-codec-library.htmlってMacOS(9・X両方)版IEだと使えないので結局どうするか追記

よく考えたら、Url Rewrite Filterでできるんじゃないか? condition要素の例に↓こんなのあるし。 <condition name="user-agent" operator="notequal">Mozilla/[1-4]</condition> 問題は自前Filterの時にやったような処理の握り潰しが、 run要素で呼び出すメソッドで書けるかどうかかな。 駄目なら、空のjsファイルにforwar…

Url Rewrite Filterは便利だなあ、と

webで提供しているサービスの移行のときに、 新旧サービスの差異を吸収してやるruleが割と簡単に書ける。 慣れるまでには結構時間がかかったけど、 いったんある程度形を作ってからなら、 似たようなルールの記述は本当に簡単。 なので、事前に洗い出せてな…

Url Rewrite Filter その8 ruleの並べ方試案

ruleとoutbound-ruleの順番はどうでもいいし、それぞれ交互になっても良い ruleとoutbound-ruleは実行される箇所が違い、競合しないため。 typeがリダイレクトの類のto要素を持つruleは優先度の高いものから順に書いていく ruleのurlパターンにもconditionに…

Url Rewrite Filterについて言及しているblog

マイコミジャーナルの記事に言及してるんじゃなくて、 実際に使ってみて書いてるblogを見つけますた。 新・たけぞう瀕死の日記 追記 これ、マイコミジャーナルの記事を執筆した人のブログでした。

Url Rewrite Filter その7 実は結構重くない?

web.xmlの設定からUrl Rewrite Filter自体を外した時との比較で、 outbound-ruleとruleが両方記述されている場合は2,3割CPU使用率が上がってる感じ。 outbound-ruleのみの場合は両方記述されている場合とほぼ同じ、 ruleのみの場合はほとんどCPU使用率が上が…

Url Rewrite Filter その6 なんかキモイ現象

<rule> <condition type="parameter" name="hoge" operator="equal">HOGE</condition> <from>.*/hogehoge\?.*</from> <run class="Fugafuga" method="doSomeMethod" /> <set name="rewrited_hoge">HO</set> </rule> <rule> </rule>

Url Rewrite Filter その5 outbound-rule要素について

外向けのURLを書き換える際のルールを記述する要素で、 HttpServletResponseのencodeURLメソッドが実行されるタイミングで、 ルールが適用されるくらいにしか把握していませんでしたが、 具体的には↓こんな感じみたいです。 下準備 UrlRewriteFilterがフィル…

Url Rewrite Filter その4 run要素を使うときはjarをshared/libに置いちゃダメ

Url Rewrite Filterにはrun要素というのがあって、 <rule> <from>^/world/[a-z]+/[a-z]+$</from> <run class="com.blah.web.WorldServlet" method="doGet" /> <to>/world-presentation.jsp</to> </rule> こんな感じで記述してやると、指定したクラスの指定したメソッド*1を実行できますが、 これを使う場合はUrl Rewrite Filterのjarをshared/libに置いて…

Url Rewrite Filter その3

cookieオフ時のjsessionid削除でけた。 <outbound-rule encodefirst="true"> <from>(.*);jsessionid=[0-9A-Fa-f]{32}(.*)</from> <to>$1$2</to> </outbound-rule>encodefirst="true"が重要で、ルール適用前にencodeURL()を実行するという意味らしいんだけど。 詳しいところは後で調べて書きます。 後、セッションIDの文字数が32文字決…

Url Rewrite Filter その2

うぇ、outbound-ruleでの表示用URL書き換えが、JSTLのc:urlでうまく使えないっす。 どうやら、outbound-ruleの動作ってのは、response.encodeURLを実行した際に 以下のようになるようにするというものらしいです。 to要素で設定した変換後URL= response.enco…

Url Rewrite Filter

UrlRewriteFilter - Rewrite URL's in Java Web Application Serversapacheのmod_rewriteみたいなことができるServletFilter。 ちょっと前にマイコミジャーナルで存在を知り、ちょうど新旧アプリの入れ替えというURLをちょこちょこ差し替えるような用事が出…