【发布时间】:2011-10-14 13:03:39
【问题描述】:
我正在为一个 404 页面编写一个包罗万象的操作方法,该方法采用请求的 URL,使用正则表达式 (\w+)* 提取冗长的位,并将这些位(以空格分隔)发送到搜索引擎以生成一个列表的建议页面。
问题是,ServerVariables["UNENCODED_URL"] 在 Action 方法中似乎不可用。但是,其他服务器变量是可用的。
我可以将ServerVariables["URL"] 与ServerVariables["QUERY_STRING"] 结合使用,两者都可用。但在某些情况下,这会遗漏 URL 中可能包含有关用户意图的有效信息的部分。
例如,如果格式错误的 URL 是
/test/007/words/something-with-a-dot.xyz/these-words-are-neglected/?stuff-in-querystring
然后发现“URL”和“QUERY_STRING”分别为"/test/007/words/something-with-a-dot.xyz"和"stuff-in-querystring"
“URL”会直截了当地忽略看起来像文件扩展名之后的所有内容。所以这还不够。
那么 UNENCODED_URL 是怎么回事?
我怎样才能得到它的等价物?
【问题讨论】:
标签: asp.net-mvc request.servervariables