代码之家  ›  专栏  ›  技术社区  ›  Mahmoud Saleh

URLRewriteFilter&在某个规则后中断

  •  1
  • Mahmoud Saleh  · 技术社区  · 15 年前

    大家好 我有一些非常相似的规则

        <rule>
        <from>/a/**/b/**/c/**/d</from>
        <to>/somePlace</to>
    </rule>
    
        <rule>
        <from>/a/**/b/**/c</from>
        <to>/anotherPlace1</to>
    </rule>
    
        <rule>
        <from>/a/**/b</from>
        <to>/anotherPlace2</to>
    </rule>
    

    3 回复  |  直到 15 年前
        1
  •  4
  •   Peter    15 年前

    您是否尝试将第一条规则更改为指令:

    <to last="true">/somePlace</to>
    
        2
  •  1
  •   Lincoln    14 年前

    如果你正在使用 OCPsoft Rewrite URLRewriteFilter

    .defineRule()
         .when(Direction.isInbound().and(Path.matches("/some/{page}/")))
         .perform(Forward.to("/new-{page}/"));
    

    .defineRule()
         .when(Direction.isInbound().and(Path.matches("/other/{page}/")))
         .perform(Lifecycle.handled());
    

    Lifecycle.proceed() Lifecycle.abort()

        3
  •  -1
  •   stack72    15 年前

    规则是按顺序执行的-如果它与第一个规则匹配,它将执行它,如果不匹配,它将转到下一个规则,依此类推

    因此,您需要按优先级排列规则,这应该会有所帮助

    保罗