IIS7.0、IIS7.5、IIS8.0等提示“请求筛选模块被配置为拒绝包含双重转义序列的请求”的解决方法小结

IIS7.5大坑

问题描述:

MIME、跨域都已经正常设置,根目录tileset.json也可以正常访问,Data目录下Tile_+000_+003目录无法访问

原因:

window2012下iis7环境下,url中包含空格或加号的伪静态,将不能正常访问。
会出现请求筛选模块被配置为拒绝包含双重转义序列的请求。浏览器返回 HTTP 错误 404.11 – Not Found错误。

解决:

修改IIS配置文件
添加,如下配置

  1. <security>
  2. <requestFiltering allowDoubleEscaping="true"></requestFiltering>
  3. </security>

完成配置如下

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <system.webServer>
  4. <security>
  5. <requestFiltering allowDoubleEscaping="true"></requestFiltering>
  6. </security>
  7. <httpProtocol>
  8. <customHeaders>
  9. <add name="Access-Control-Allow-Origin" value="*" />
  10. </customHeaders>
  11. </httpProtocol>
  12. <staticContent>
  13. <mimeMap fileExtension=".b3dm" mimeType="application/octet-stream" />
  14. </staticContent>
  15. <directoryBrowse enabled="true" />
  16. </system.webServer>
  17. </configuration>

image.png