![如果 URL 包含“测试”,则 IIS 7.5 给出 404.19“过滤规则拒绝”-未定义过滤规则](https://linux22.com/image/641898/%E5%A6%82%E6%9E%9C%20URL%20%E5%8C%85%E5%90%AB%E2%80%9C%E6%B5%8B%E8%AF%95%E2%80%9D%EF%BC%8C%E5%88%99%20IIS%207.5%20%E7%BB%99%E5%87%BA%20404.19%E2%80%9C%E8%BF%87%E6%BB%A4%E8%A7%84%E5%88%99%E6%8B%92%E7%BB%9D%E2%80%9D-%E6%9C%AA%E5%AE%9A%E4%B9%89%E8%BF%87%E6%BB%A4%E8%A7%84%E5%88%99.png)
如果某个 URL 以任何形式包含字符串“test”,我的 IIS 会给出 404.19 错误。例如:
http://test2008r2-1/search.php?query=test&type=and&start=1&results=5
和
http://test2008r2-1/search.php?query=something&type=and&start=1&categtestory=2,3,4,5,6,13,22,23,24,25,26,33,37
都将提供 404.19。
现在,根据Microsoft 请求过滤规则,这意味着该请求已经被RequestFiltering模块阻止了。
于是我去检查了我正在调用的文件及其所在文件夹的 RequestFiltering 模块配置。那里没有关于“测试”的任何内容。甚至没有任何接近的内容。
我定义的唯一规则是两个被拒绝的文件名扩展规则(.bat 和 .rules)和默认排除的段“web.config”。
但是错误感觉太一致和具体了(实际上只有当四个字母 t、e、s、t 组合在一起并出现在任何地方时才会出现),所以不是一个随机错误。我是否有可能获得某个元素或类似元素的完整应用规则列表,以便我可以看到应用了什么以及它来自哪里?我几乎要手动查看所有文件并分别检查每个文件……由于脚本中有很多包含内容,我希望有一个我遗漏的调试工具……
任何帮助是极大的赞赏!