在IIS7及以上版本中,伪静态规则中如果URL带有空格或特殊字符,那么访问该URL就会返回404错误页,遇到这样的情况如何解决?昨天晚上遇到这个问题,折腾了很久,而且上网搜了一下,也没有看到有用的内容,好不容易在一个博客中看到一个解决方案,尝试以后还是不行,后来听人说可以通过修改IIS配置文件来实现,所以就特意找了一下这方面的内容。
大家都知道win系统IIS7及以上的配置文件,都是web.config这个文件,如果你用的是虚拟主机,直接把这个文件放置在根目录内就能实现很多功能,比如:301重定向、伪静态、防盗链、缓存时间、etag等等,所以这个文件平常可不要瞎改,否则会造成网站无法正常访问或运行。
下边澳煦互动就来说一下,如果你的网站伪静态规则中,url格式恰好带有空格或者特殊字符,那么在IIS7及以上的IIS版本中是无法正常定向的,都会返回404错误,这时候我们需要做的就是在web.config这个配置文件中找到名称为“requestFiltering”的节点,找到以后把requestFiltering节点的allowDoubleEscaping属性设置为“true”节点代码如下:
《security>
《requestFiltering allowDoubleEscaping="true">《/requestFiltering>
《/security>
(使用的时候把“《”替换成“<”)
如果在web.config配置文件中找不到这个节点,也可以直接在web.config文件中新增上边这段代码就可以,上边这段代码可以放置在web.config中system.webServer内部的任何位置,一般来说都是直接放置在system.webServer内部的最顶端。
注:转载本文请注明出处http://www.ocean-ad.cn澳煦互动