我正在开发一个ASP.NET MVC2项目。问题是当一个将被重写为URL的字符串包含一个特殊字符(如反斜杠或问号)时,即使我之前编码过它,URL也会出错。
例如:
http://domain.com/Product/p001%5C2-2
响应HTTP错误400 - 错误请求。我怎样才能正确理解?
答案 0 :(得分:5)
尝试使用Html.Encode来解决反斜杠。 如果反斜杠是id中唯一的“特殊”字符,则可以使用Replace(“%5C”,“\”)。
你检查过你的路由映射吗?必须有像
这样的路线产品/ {prodictID}
答案 1 :(得分:0)
我的网址中有%2F的类似问题。尝试将nOrmalize标志附加到您的rewriteRule。
以粗体标准化标志“O”的示例:
RewriteRule ^(。*)index.html?$ http://www.yoursite.com/ $ 1 [R = 301,L, O ]