Intelligencia.UrlRewriter

时间:2009-05-07 11:56:18

标签: c# asp.net friendly-url urlrewriter

我正在项目中使用Intelligencia UrlRewriter。

重写在浏览器中输入的网址可以正常工作。

例如,如果我输入

http://localhost/People

这被正确改写为:

http://localhost/People.aspx

现在,问题是,当我在后面的代码中我需要访问友好URL时,但Request.ServerVariables似乎只有不友好的URL可用。

有人知道无论如何我可以在代码中访问这个原始的,友好的Url吗?或者我来不及?

4 个答案:

答案 0 :(得分:2)

得到了它们。

<@> @Nick Allen和Pure.Krome:感谢您的帮助!!

我在以下网址找到了这条数据:

HttpContext.Current.Request.RawUrl

如果它存在于ServerVariables中,我看不到它,但总的来说,数据就在那里,所以我不必为了睡觉而哭泣:)

好。再次感谢!!

答案 1 :(得分:1)

Request.PathInfo
Request.QueryString

您使用哪一个取决于您是否重写为default.aspx?myvardefault.aspx/myvar

答案 2 :(得分:0)

我正在使用它并且已经为...呃..我想2年了。 (感谢gawd IIS7和MVC在这里!)

无论如何,你可以查看IIS Server Variables所有这些并告诉我们你得到了什么......

  1. PATH_INFO
  2. URL
  3. SCRIPT_NAME
  4. 例如(这是我已设置的页面的PATH_INFO的片段,它转储所有请求变量): -

      

    PATH_INFO:[/admin/Miscellaneous.aspx]

    并得到它..

    Request.ServerVariables["PATH_INFO"]
    

    让我们发布。

答案 3 :(得分:0)

Intelligencia重写规则存储在web.config中,该规则是可解析的。因此,您可以遍历web.config中的规则以查找匹配项并使用其中的匹配值

显然,这不适用于模式匹配,只是显式规则,例如示例中的规则