项目背景:中科大软件学院教学辅助系统
问题描述:下载文件中如果包含有"+"字符会出现404错误
问题原因:IIS默认配置中未开启允许包含双重转义序列
附解决方案:http://www.aifeitou.com/b/index.php?paged=13
在用IIS 7.0的时候,在一页面调入另一页面突然出错,IIS 5.0下却没有出错,于是便从远景找到了这个:
一、请求筛选模块被配置为拒绝包含双重转义序列的请求。HTTP 错误 404.11 – Not Found
1.单击 开始 。 在 开始搜索 框中, 键入 Notepad. 右击 记事本 , 然后单击 作为管理员运行 。
注意 如果提示用于管理员密码或用于确认, 键入密码, 或单击 继续 。
2.在 文件 菜单上, 单击 打开 。 在 文件名 框中, 键入 %windir%\system32\inetsrv\config\applicationhost.config然后单击 打开 。
3.在 ApplicationHost.config 文件, 定位 文件中的 configuration/system.webServer/security/requestFiltering/下
<requestFiltering> 节点。大约360行
将<requestFiltering>
改为
<requestFiltering allowDoubleEscaping="true">
即可
参考资料:
http://learn.iis.net/page.aspx/143/use-request-filtering/
http://www.anywolfs.com/liuhui/article.asp?id=359