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

时间:2011-01-05 13:14:42

标签: asp.net url iis-7 encoding windows-server-2008

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

任何帮助?

祝你好运。

3 个答案:

答案 0 :(得分:16)

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

要解决此问题,您必须在web.config文件中设置allowDoubleEscaping =“true”。 这是标签。

<system.webServer>
<security>
  <requestFiltering allowDoubleEscaping="true">
  </requestFiltering>
</security>

答案 1 :(得分:8)

答案 2 :(得分:0)

您可以在编码时将+更改为%20,以便以编程方式处理此操作,假设您可以控制生成网址的代码。