RegEx构造排除文件

时间:2010-11-10 21:30:29

标签: regex cherokee

我真的很难创建一个不会重写文件的RegEx。

我使用Cherokee作为网络服务器,并希望将http://example.com/123等链接转换为http://example.com/get.php?short=123。

我的问题是我想为文件而不是文件创建一个开关。

/([^。] +)=> /get.php?short=$1

/([。] +)=> / $ 1

我想第二种方式排除了第一种,但我无法找到。

如何解决这个问题还是有更好的解决方案?

2 个答案:

答案 0 :(得分:1)

您必须在同一个虚拟服务器行为规则中添加更高优先级的规则,并且“文件存在”匹配。您很可能希望它使用“静态内容”处理程序。

这样,当评估行为规则时,静态文件将与该规则匹配(并发送)。每当请求未针对静态文件时,将继续针对放置正则表达式规则的行为列表进行评估。

即使它与某些人仍然习惯的不同,切诺基的行为列表更加直观和强大,在Apache的对应部分(其中所有内容都与一堆一个字符参数一起定义)。

答案 1 :(得分:0)

你可能想要:

RewriteCond -f