1

urlrewritefilter を使用して顧客名と言語を URL に含め、それらをパラメータとして非表示の URL に渡したいと考えています。サイトがカスタマイズされて開くようにします。言語スラッシュの後に続くものはすべて、非表示の URL に渡す必要があります

http://www.x.com/customer1/en/ 隠し URL に書き換えます。呼び出す必要がある次の URL は表示されません。

http://www.x.com/myapp/

次のパラメーターを追加します language=en customerID=3

このルールを試していますが、常に 404 http ステータス エラーが発生します

<rule match-type="regex">
 <from>^/customer1/en/([A-Za-z0-9\._/]+)$</from>
 <set name="customerID">3</set> 
 <set name="language">en</set>
<to type="forward">/myapp/$1</to>

</rule>
4

1 に答える 1

0

context-root = "/" (クロスコンテキストなし) の webapp が 1 つあると仮定します。

完了していない場合は、ログを有効にして、ルールが呼び出されて一致するかどうかを確認する必要があります。

フィルタ構成で urlrewritefilter のログを有効にすることができます ( http://urlrewritefilter.googlecode.com/svn/trunk/src/doc/manual/4.0/index.html#filterparamsを参照)。

<filter>
  <filter-name>UrlRewriteFilter</filter-name>
  <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
  <!-- sets up log level (will be logged to context log)
       can be: slf4j, TRACE, DEBUG, INFO (default), WARN, ERROR, FATAL,
       sysout:{level} (ie, sysout:DEBUG)
       if you are having trouble using normal levels use sysout:DEBUG
       (default WARN) -->
  <init-param>
    <param-name>logLevel</param-name>
    <param-value>DEBUG</param-value>
  </init-param>

</filter>

slf4j-api、slf4j-log4j12、log4j-1.2 などのロギングの依存関係も追加する必要があります。

于 2012-10-03T12:05:41.183 に答える