我正在项目中使用Intelligencia UrlRewriter。
重写在浏览器中输入的网址可以正常工作。
例如,如果我输入
http://localhost/People
这被正确改写为:
http://localhost/People.aspx
现在,问题是,当我在后面的代码中我需要访问友好URL时,但Request.ServerVariables似乎只有不友好的URL可用。
有人知道无论如何我可以在代码中访问这个原始的,友好的Url吗?或者我来不及?
答案 0 :(得分:2)
得到了它们。
<@> @Nick Allen和Pure.Krome:感谢您的帮助!!我在以下网址找到了这条数据:
HttpContext.Current.Request.RawUrl
如果它存在于ServerVariables中,我看不到它,但总的来说,数据就在那里,所以我不必为了睡觉而哭泣:)
好。再次感谢!!
答案 1 :(得分:1)
Request.PathInfo
Request.QueryString
您使用哪一个取决于您是否重写为default.aspx?myvar
或default.aspx/myvar
答案 2 :(得分:0)
我正在使用它并且已经为...呃..我想2年了。 (感谢gawd IIS7和MVC在这里!)
无论如何,你可以查看IIS Server Variables所有这些并告诉我们你得到了什么......
例如(这是我已设置的页面的PATH_INFO的片段,它转储所有请求变量): -
PATH_INFO:[/admin/Miscellaneous.aspx]
并得到它..
Request.ServerVariables["PATH_INFO"]
让我们发布。
答案 3 :(得分:0)
Intelligencia重写规则存储在web.config中,该规则是可解析的。因此,您可以遍历web.config中的规则以查找匹配项并使用其中的匹配值
显然,这不适用于模式匹配,只是显式规则,例如示例中的规则