我真的很难创建一个不会重写文件的RegEx。
我使用Cherokee作为网络服务器,并希望将http://example.com/123等链接转换为http://example.com/get.php?short=123。
我的问题是我想为文件而不是文件创建一个开关。
/([^。] +)=> /get.php?short=$1
/([。] +)=> / $ 1
我想第二种方式排除了第一种,但我无法找到。
如何解决这个问题还是有更好的解决方案?
保
答案 0 :(得分:1)
您必须在同一个虚拟服务器行为规则中添加更高优先级的规则,并且“文件存在”匹配。您很可能希望它使用“静态内容”处理程序。
这样,当评估行为规则时,静态文件将与该规则匹配(并发送)。每当请求未针对静态文件时,将继续针对放置正则表达式规则的行为列表进行评估。
即使它与某些人仍然习惯的不同,切诺基的行为列表更加直观和强大,在Apache的对应部分(其中所有内容都与一堆一个字符参数一起定义)。
答案 1 :(得分:0)
你可能想要:
RewriteCond -f