|
IIS10的默认规则不允许双重转义,若是访问如“视频60V+30G”文件夹则会报错404
这是因为虽然在window下,加号(+)是合法的文件名,但是在Url里却代表了不同的意思:
若是作为queryString的一部分,那么+号代表空格:
访问 https://www.baidu.com/?dd=ha+ha 和 https://www.baidu.com/?dd=ha%20ha 效果是一样的,解码后,都代表了空格。
但是+号作为Url component(注意不是作为queryString)时,就是+号本身,不会转义:
http://www.a.com/date+time/test.html
解决404办法:IIS10设置允许双重转义
【IIS】-【绑定的网站】-【请求筛选】-【隐藏段】-【webconfig】-【编辑功能设置】,勾选“允许双重转义”,确定保存,即可Url访问带有+号的路径。
什么是双重转义?
- 双重转义字符 (例如,"abc\\d") 对于Url,+先转义为space(空格),空格再转义为%20
- 三个转义字符 (例如,abc\\\d)
|
|