带有tuckey urlrewritefilter的动态URL

时间:2015-04-15 10:49:43

标签: java regex tuckey-urlrewrite-filter

我有多个链接,例如

- http://example.com/link1/title-with-detail
- http://example.com/link2/title-with-detail
- http://example.com/link3/title-with-detail

依旧......

我有一个非常好的tuckey规则:

    <rule>
        <from>^/([^/]+)/([^/]+)/type/([a-z]+)$</from>
        <to>/page?slug=$2&amp;type=$3</to>
    </rule>

对于像这样的链接      - http://example.com/link1/title-with-detail/type/text

但是当我使用这条规则时,即

<rule>              
        <from>^/([^/]+)/([^/]+)$</from>
        <to>/page?slug=$2</to>
</rule>

我的分页符,因为在slug中获取了诸如styles.css,functions.js等参数。为此,我尝试使用tuckey的条件来排除与前面提到的文本相同的文本,即{ {1}},jscss等。但我不知道要形成什么样的确切条件,因为我是正则表达式的新手。请指导。

1 个答案:

答案 0 :(得分:1)

您可以设置如下条件:

<condition type="request-uri">^(?!.*\.(?:jpg|png|css|js)$).*$</condition>

根据specifiactions,您可以检查条件中的request-uri类型,以便检查结果:

  

request-uri - 从协议名称返回此请求的URL部分   HTTP请求第一行中的查询字符串

负面预测(?!.*\.(?:jpg|png|css|js)$)实际上会检查URI是否以非捕获组中列出的任何扩展名结尾。您可以在|符号后添加要排除的更多扩展程序。