我真的很纠结于创建一个不允许文件被重写的RegEx。
我使用Cherokee作为web服务器,并希望将http: //example.com/123之类的链接转换为http: //example.com/get.php?short=123。
我的问题是,我想为文件创建一个开关,而不为文件创建一个开关。
/(^.+) => /get.php?short=$1
/(.+) => /$1
我猜第二个不知何故排除了第一个,但我找不到。
如何解决这个问题,或者有更好的解决方案?
保罗
发布于 2010-11-11 14:17:08
您必须在相同的虚拟服务器行为规则中添加一个更高优先级的规则,并与“文件存在”匹配。您很可能希望它使用“静态内容”处理程序。
这样,当评估行为规则时,静态文件将根据该规则进行匹配(并发送)。当请求不是以静态文件为目标时,将继续根据放置正则表达式规则的行为列表对其余文件进行评估。
尽管切罗基的行为列表与一些人所习惯的有所不同,但它比Apache上的对应列表更直观、更强大(在Apache中,所有东西都是用一堆字符参数定义的)。
发布于 2010-11-11 07:11:39
您可能需要:
RewriteCond -fhttps://stackoverflow.com/questions/4149269
复制相似问题