Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我真的坚持创建一个排除文件被重写的正则表达式。
我正在使用 Cherokee 作为 Web 服务器,并希望将 http://example.com/123 之类的链接转换为 http://example.com/get.php?short=123。
我的问题是我想为文件而不是文件创建一个开关。
/([^.]+) => /get.php?short=$1
/([.]+) => /$1
我想第二个以某种方式排除了第一个,但我无法找到。
如何解决这个问题或有更好的解决方案?
保罗
您必须在同一虚拟服务器行为规则中添加更高优先级的规则,并匹配“文件存在”。您很可能希望它使用“静态内容”处理程序。
这样,当评估行为规则时,静态文件将与该规则匹配(并发送)。每当请求不针对静态文件时,将继续根据放置正则表达式规则的行为列表的其余部分进行评估。
尽管它与某些人仍然习惯的有所不同,但 Cherokee 的行为列表比 Apache 上的对应物更加直观和强大(其中所有内容都与一堆单个字符参数一起定义)。
你可能想要:
RewriteCond -f