ASP.NET - 省略问号字符

时间:2011-02-12 00:57:33

标签: asp.net

我想知道是否可以在aspx页面之后省略URL中的问号,并且仍然能够解析URL中的字符。例如,假设我有此网址:http://localhost/?specialparam,story:extra。当我导航到页面时,它正确显示,我能够解析我的特殊参数和故事参数。现在如果我通过省略'?'来输入URL字符为http://localhost/specialparam,story:extra然后我找不到页面错误。

关于我为什么这样做的一点背景。我希望能够缩短它们在bit.ly上的方式,但是能够传递我的.aspx页面可以解析的一些特殊参数。

我明白了'?' URL中的字符将转到IIS中指定的默认文档。如果甚至可以删除'?',我可以得到一些建议吗?字符或URL重写有用。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

MVC 3只会做到这一点。

答案 1 :(得分:0)

?字符指定查询字符串的开头,因此如果要继续使用查询字符串,则很难将其删除。另一方面,如果你删除它,你可以简单地引用Request.PathInfo,它将在文件名之后但在查询字符串之前提供所有数据。例如:

  

http://localhost/Default.aspx/Your/Path/Info

路径信息为/Your/Path/Info。但是,您需要包含.aspx文件,否则服务器将无法区分Web服务器上的真实文件。

(另外,?字符与IIS中的默认文档完全无关)