我们在Query字符串中发送一个HTML编码的字符串。它在IIS 6上工作正常(Windows 2003)。我们最近将网站迁移到了Windows 2008(IIS 7.x)。由于移动任何包含“+”符号的查询字符串,即“%2b”,在服务器“404 - 找不到文件或目录”时会出错。
任何帮助?
祝你好运。
答案 0 :(得分:16)
您遇到此错误的原因是IIS7出于安全原因引入了新的URL过滤规则。 因此,默认情况下会阻止“+”符号作为网址中安全原因的一部分。
要解决此问题,您必须在web.config文件中设置allowDoubleEscaping =“true”。 这是标签。
<system.webServer>
<security>
<requestFiltering allowDoubleEscaping="true">
</requestFiltering>
</security>
答案 1 :(得分:8)
答案 2 :(得分:0)
您可以在编码时将+更改为%20,以便以编程方式处理此操作,假设您可以控制生成网址的代码。