我需要匹配某些网址,以便在我的htaccess中触发410标头,同时不允许其他网址触发410.
需要触发410的网址
http://www.example.com/word-lists/words-that-end-with/letter/farest/
不需要触发任何内容的网址
http://www.example.com/word-lists/words-that-end-with/letter/f
OR
http://www.example.com/word-lists/words-that-end-with/letter/f/
基本上,网址必须在最后一个斜杠的末尾只包含1个字母,但可以或不能以斜杠结尾。之后大于1个字符的任何内容都应该触发正则表达式,并触发410网址。
到目前为止,这是我的正则表达式,但我认为我过于复杂化了。
RewriteRule 410 /http:\/\/www.example.com\/word-lists\/words-that-end-with\/letter\/[a-z0-9]{2,}/
答案 0 :(得分:1)
查询几乎是正确的两个小修改:
.
。/^http:\/\/www.example.com\/word-lists\/words-that-end-with\/letter\/[a-z0-9]{2,}\/?$/
答案 1 :(得分:0)
您可以大大简化您的正则表达式;否定以下内容以获得您想要的内容:
/\/[a-z]\/?$/
只有当字符串以斜杠和单个字母结尾并且尾部斜杠是可选的时,此正则表达式才会返回true。
编辑:
如果你仍想匹配整个网址,那就是:
/^http:\/\/www\.example\.com\/word-lists\/words-that-end-with\/letter\/[a-z]\/?$/