我是一些查询字符串参数的Server.UrlEncode,本地它很好,但在我的服务器(IIS 7)上它导致错误的请求错误。我正在使用ASP.Net MVC。
如果我手动将+更改为短划线 - 请求正常。
这打破了:
http://www.example.com/Glenn+Pang/234
这有效:
http://www.example.com/Glenn-Pang/234
这是我在IIS 7中缺少的设置吗?
答案 0 :(得分:2)
当URL编码时,+符号也是空格的符号。可能是你的路线设置期待加号,从来没有到达,因为实际上它是一个空间?我不确定为什么这会在你的本地机器上运行,但不能在IIS机箱上运行。
编辑:un-validated random page on the net建议必须编码某些符号,除非用于特定目的。我不确定这是否适用于+因为我的想法是它的特殊用途是在URL中表示空格 - 但我想如果这有任何帮助,%20值得一试? (我很感激,+友情网址+超过%20的价格)