SAStrutsでUrlRewriteFilterを利用するときのurlrewrite.xmlの内容

情報共有として
二段構えにできるよう整理。

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite
 PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN"
 "http://tuckey.org/res/dtds/urlrewrite3.2.dtd">
<urlrewrite>

  <!--
   | global rules.
   |-->
  <rule>
    <name>静的ファイルは除外</name>
    <from>/(css|js|images)/(.*)</from>
    <to last="true">/$1/$2</to>
  </rule>

  <outbound-rule encodefirst="true">
    <name>cookieオフ時のjsessionid削除</name>
    <note>ref:http://d.hatena.ne.jp/monjudoh/20070615/1181897930</note>
    <from>(.*);jsessionid=[0-9A-Fa-f]{32}(.*)</from>
    <to>$1$2</to>
  </outbound-rule>

  <!--
   | customize rules.
   |-->


  <!--
   | default rules.
   |-->
  <rule>
    <name>/(?_1_) => /index.do?SAStruts.method=index&amp;_1_</name>
    <from>^/(?:\?(.*))?$</from>
    <to last="true">/index.do?SAStruts.method=index&amp;$1</to>
  </rule>

  <rule>
    <name>/_1_(?_2_) => /index.do?SAStruts.method=_1_&amp;_2_</name>
    <from>^/([^/?]*)(?:\?(.*))?$</from>
    <to last="true">/index.do?SAStruts.method=$1&amp;$2</to>
  </rule>

  <rule>
    <name>/_1_/(?_2_) => /_1_.do?SAStruts.method=index&amp;_2_</name>
    <from>^/(.*)/(?:\?(.*))?$</from>
    <to last="true">/$1.do?SAStruts.method=index&amp;$2</to>
  </rule>

  <rule>
    <name>/_1_/_2_(?_3_) => /_1_.do?SAStruts.method=_2_&amp;_3_</name>
    <from>^/(.*)/([^/?]*)(?:\?(.*))?$</from>
    <to last="true">/$1.do?SAStruts.method=$2&amp;$3</to>
  </rule>
</urlrewrite>