0

我在 webapps 根目录下的文件夹项目中有一些关于.jsp、contact.jsp、user.jsp、index.jsp 的页面。我使用 tukey-urlrewrite-filter 进行 url 映射。我用 url 写作作为

    <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。我无法为这些案例编写实际代码。请帮我...

4

1 回答 1

0

尝试将 last="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 也是如此。任何不匹配的任何内容都将与第三条规则进行比较,第三条规则应该匹配任何内容。

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

于 2013-10-12T04:12:29.987 回答