IIS 7.x中URL中的"+"符号问题

Kas*_*hif 14 asp.net url encoding iis-7 windows-server-2008

我们在Query字符串中发送一个HTML编码的字符串.它在IIS 6上工作正常(Windows 2003).我们最近将网站迁移到了Windows 2008(IIS 7.x).由于移动任何包含"+"符号的查询字符串,即"%2b",在服务器"404 - 找不到文件或目录"时会出错.

有帮助吗?

最好的祝福.

DOT*_*eam 17

您遇到此错误的原因是IIS7出于安全原因引入了新的URL过滤规则.因此,默认情况下会阻止"+"符号作为URL中安全原因的一部分.

要解决此问题,您必须在web.config文件中设置allowDoubleEscaping ="true".这是执行此操作的标记.

<system.webServer>
<security>
  <requestFiltering allowDoubleEscaping="true">
  </requestFiltering>
</security>
Run Code Online (Sandbox Code Playgroud)


Jam*_*rgy 1

假设您可以控制生成 url 的代码,则可以在编码时将 + 更改为 %20 以编程方式处理此问题。