Tomcat URLRewriteFilter规则附加到url 2次

Tomcat URLRewriteFilter规则附加到url 2次,tomcat,tuckey-urlrewrite-filter,Tomcat,Tuckey Urlrewrite Filter,我面临着一些奇怪的问题。执行一条规则(最后一条规则)是在转发之前将url设置为times,这会给我404错误 web.xml内容 <filter> <filter-name>UrlRewriteFilter</filter-name> <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> <init-par

我面临着一些奇怪的问题。执行一条规则(最后一条规则)是在转发之前将url设置为times,这会给我404错误

web.xml内容

    <filter>
  <filter-name>UrlRewriteFilter</filter-name>
  <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
  <init-param>
    <param-name>logLevel</param-name>
    <param-value>DEBUG</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>UrlRewriteFilter</filter-name>
  <url-pattern>/*</url-pattern>
  <dispatcher>REQUEST</dispatcher>
  <!-- FORWARD dispatcher will keep on parsing requests through rule until
     atleast one rule is applied . It sometime may lead into infinite loop
     --> 
  <!--    <dispatcher>FORWARD</dispatcher>  -->
</filter-mapping>

经过反复试验,我找到了解决办法。 所有剩余请求的“from”组件都很麻烦。 当我为AllRemainingRequests下以下定义时,它工作得很好

<rule>
    <name>AllRemainingRequests</name>
    <from>(/.*)</from> 
    <set type="status">404</set>
    <to last="true">/error/410.html</to>
</rule>

所有剩余请求
(/.*) 
404
/错误/410.html
唯一的变化是“/”

Nov 20, 2012 12:31:10 PM org.apache.catalina.core.ApplicationContext log
INFO: org.tuckey.web.filters.urlrewrite.RuleBase DEBUG: AllRemainingRequests (rule 8) run called with /some-content
Nov 20, 2012 12:31:10 PM org.apache.catalina.core.ApplicationContext log
INFO: org.tuckey.web.filters.urlrewrite.RuleBase DEBUG: matched "from"
Nov 20, 2012 12:31:10 PM org.apache.catalina.core.ApplicationContext log
INFO: org.tuckey.web.filters.urlrewrite.SetAttribute DEBUG: set Set status null 404 called
Nov 20, 2012 12:31:10 PM org.apache.catalina.core.ApplicationContext log
INFO: org.tuckey.web.filters.urlrewrite.SetAttribute DEBUG: setting status
Nov 20, 2012 12:31:10 PM org.apache.catalina.core.ApplicationContext log
INFO: org.tuckey.web.filters.urlrewrite.RuleExecutionOutput DEBUG: needs to be forwarded to /error/410.html/error/410.html
Nov 20, 2012 12:31:10 PM org.apache.catalina.core.ApplicationContext log
INFO: org.tuckey.web.filters.urlrewrite.UrlRewriter DEBUG: rule is last
<rule>
    <name>AllRemainingRequests</name>
    <from>(/.*)</from> 
    <set type="status">404</set>
    <to last="true">/error/410.html</to>
</rule>