<rule>
<from>/journal/detail/([0-9]+)_([0-9]+).html</from>
<to>/journal/detail?magid=$1&amp;categoryId=$2</to>
</rule>http://localhost:8080/journal/detail?magid=3934&categoryId=3找不出原因
伪静态不起作用 正则也没什么问题
求解决 感谢 

解决方案 »

  1.   

    访问  journal/detail/([0-9]+)_([0-9]+).html  这地址会跳到http://localhost:8080/journal/detail?magid=3934&categoryId=3
      

  2.   

    1:像你那样配置,页面只能按这种格式来访问:"/journal/detail/324_243.html",访问这个地址,将会forward到"/journal/detail?magid=324&amp;categoryId=234” 这里来。
    2:如果你页面想“/journal/detail?magid=3934&categoryId=3”通过这种方式来访问的话:
     1)得在urlrewrite.xml中<outbound-rule></outbound-rule>标签文件里面做相关的配置
     2)同时页面访问的话,得通过jstl 的c:url 或者是response.encodeURL来访问才能别重写
     3)在<outbond-rule>中出现的特色符号要转义,例如问号“?”要把它转义,不然也会出错。
     4)在<outbond-rule>标签中配置相关的信息后,在<rule>标签也得配置相关的信息,否则会出现404找不到资源。
     5)看看
    3:你例子中的具体配置为: 
    <rule>
    <from>/journal/detail/([0-9]+)_([0-9]+).html</from>
    <to>/journal/detail?magid=$1&amp;categoryId=$2</to>
    </rule>
          <outbound-rule>
    <from>/journal/detail\?magid=([0-9]+)&amp;categoryId=([0-9]+)</from>
    <to>/journal/detail/$1_$2.html</to>
      </outbound-rule>

    4:jsp页面:
      <a href="<c:url value='/journal/detail?magid=3934&categoryId=3'/>">URLRewrite</a>
       OR
    <a href="<%=response.encodeUrl("/journal/detail?magid=3934&categoryId=3") %>">response EncodeURL</a>Have a look.......