1

基本上,我最近在我的 httpd.conf 中为 IIS 服务器上的 ISAPI 重写添加了以下规则,以确保它始终默认为小写文件和目录名称。

RewriteRule ^(.*[A-Z].*)$ $1 [CL,R=301,L]

这对网站的每个部分都很好,除了我们可以调用的一个目录之外,/MisbehavingDir这个特定目录中的代码充满了混合大小写的文件名和许多必须重写的服务器端和客户端脚本使用所有小写字母以正常工作(使用上面的 RewriteRule 似乎在错误的地方遇到了几个 301,这至少可以说导致网站的该部分功能不佳)。

由于我不想重写网站的那部分,我很想找到一种修改上述正则表达式的好方法,以便它匹配除以 MisbehaveDir 开头的路径之外的所有内容,因为我的 regex-fu 不是很好够了,我想我会在这里问。

是否有任何人想要分享的简单“美丽”解决方案,或者我应该留出几天时间来重写应用程序,然后对其进行测试并完成整个过程?

4

1 回答 1

2

好吧,显然诀窍是添加一个 rewritecond 语句,看起来像是RewriteCond %{URL} ^(?!/MisbehavingDir/.*$)让 ISAPI 重写跳过下一条规则。

于 2010-04-19T18:09:52.760 回答