0

我在一个项目中使用 Intelligencia UrlRewriter。

重写输入浏览器的 url 工作正常。

例如,如果我输入

http://localhost/People

这被正确地重写为:

http://localhost/People.aspx

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

有谁知道我是否可以在代码中访问这个原始的、友好的 URL?还是我太晚了?

4

4 回答 4

2

明白了,伙计们。

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

我在以下位置找到了一条数据:

HttpContext.Current.Request.RawUrl

如果它存在于 ServerVariables 中,我看不到它,但总而言之,数据在那里,所以我不必哭着睡觉 :)

好的。再次感谢!!

于 2009-05-07T13:33:09.110 回答
1
Request.PathInfo
Request.QueryString

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

于 2011-02-03T16:50:58.027 回答
0

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

无论如何,你可以检查所有这些的IIS 服务器变量并告诉我们你得到了什么......

  1. PATH_INFO
  2. 网址
  3. SCRIPT_NAME

例如(这是我设置的页面的 PATH_INFO 片段,它转储所有请求变量):-

PATH_INFO:[/admin/Miscellaneous.aspx]

并得到它..

Request.ServerVariables["PATH_INFO"]

随时通知我们。

于 2009-05-07T12:07:44.633 回答
0

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

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

于 2009-05-07T12:11:18.557 回答