1

我有一些页面about.jsp,contact.jsp,user.jsp,index.jsp在webapps根下的项目文件夹中。我使用tuckey-urlrewrite-filter进行URL映射。 我以前写的网址作为如何在tuckey-urlrewrite-filter中配置网址映射?

<rule> 
    <from>/contact_us</from> 
     <to>/contact.jsp</to> 
    </rule> 
    <rule> 
    <from>/about_us</from> 
     <to>/about.jsp</to> 
    </rule> 

当我在URL about_us键入或CONTACT_US这些细微的工作,打开相应的页面。 但我想为user.jsp的url除contact_us和about_us之外的任何东西。 因为我使用user.jsp作为个人资料页面。 如果在URL中输入“abhiramgiri”,user.jsp应该打开或者我输入的任何东西,除了contact_us和about_us之外,它应该打开user.jsp。我无法写出这些案例的实际代码。 PLZ帮我...

回答

0

尝试设置最后=“true”以你的前两个规则,再加入第三个规则:

<rule> 
    <from>/contact_us</from> 
    <to last="true">/contact.jsp</to> 
</rule> 
<rule> 
    <from>/about_us</from> 
    <to last="true">/about.jsp</to> 
</rule> 
<rule> 
    <from>.*</from> 
    <to>/user.jsp</to> 
</rule> 

这意味着,如果有上/ CONTACT_US匹配,则过滤器将停止查找匹配,并且/ about_us也是如此。任何不符合其中任何一项的将与第三条规则进行比较,该规则应与任何匹配。

在正则表达式中,“。”表示匹配任何单个字符,“*”表示匹配零次或多次出现的模式的前一部分。所以“。*”表示匹配零个或多个任何字符。