我有多个链接,例如
- 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&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}},js
,css
等。但我不知道要形成什么样的确切条件,因为我是正则表达式的新手。请指导。
答案 0 :(得分:1)
您可以设置如下条件:
<condition type="request-uri">^(?!.*\.(?:jpg|png|css|js)$).*$</condition>
根据specifiactions,您可以检查条件中的request-uri
类型,以便检查结果:
request-uri
- 从协议名称返回此请求的URL部分 HTTP请求第一行中的查询字符串
负面预测(?!.*\.(?:jpg|png|css|js)$)
实际上会检查URI是否以非捕获组中列出的任何扩展名结尾。您可以在|
符号后添加要排除的更多扩展程序。