我有一个ASP.NET MVC应用程序,其路由允许通过/ search/<searchterm>搜索内容.
当我提供"search/abc"时,它运行良好,但是当我提供"/ search/a + b + c"(正确的url编码)时,IIS7拒绝HTTP错误404.11 的请求(请求过滤模块配置为拒绝请求包含双转义序列).首先,它为什么这样做?它似乎只是抛出错误,如果它是URL的一部分,但不作为查询字符串的一部分(/ transmit?q = a + b + c工作正常).
现在我可以在我的web.config的安全部分启用双转义请求,但我不愿意这样做,因为我不明白其含义,也没有为什么服务器拒绝请求"a + b + c"为URL的一部分,但作为查询字符串的一部分接受.
有人可以解释并提供一些建议吗?