【问题标题】:Url rewriting in .NET 3.5.NET 3.5 中的 URL 重写
【发布时间】:2012-12-02 15:33:14
【问题描述】:

点击后,我页面上的链接将重定向到:

http://www.abc.com/document.aspx?sid=42&rid=1&mid=1

我想在地址栏中显示为:

http://www.abc.com/models/childfirst/inbrief

在哪里

  • models 变为 rid 的值
  • childfirst 变为 sid 的值
  • inbried 变为 mid 的值

我该怎么做?

【问题讨论】:

    标签: c# asp.net url-rewriting


    【解决方案1】:

    根据您的示例 URL,我假设您使用的是 ASP.NET Web 窗体。 如果正确,我建议您检查URL RewritingURL Friendly 配置。

    【讨论】:

      【解决方案2】:

      路由表:

      http://msdn.microsoft.com/en-us/library/cc668201%28v=vs.100%29.aspx

      你也可以使用路由表,

      全球.asax

      RegisterRoutes(RouteTable.Routes);在 application_onstart 中

      然后创建需要的路由:

      routes.MapPageRoute("name", "section/{category}", "~/section/index.aspx");

      那么你可以使用:

      _value = Page.RouteData.Values["category"] as string;

      获取每个部分的数据。

      【讨论】:

      • ps。 urlrewriter 没问题,但很难调试。我试过了。
      • routes.MapPageRoute 我认为只能在 .net 4.0 中工作,而不是在 3.5 中工作。
      【解决方案3】:

      达斯汀·莱恩, 我已经尝试了您提供的链接并尝试了这个,但它一直重定向到同一页面,

      <rewriter>
      <rewrite url="/models/(.+)" to="/document.aspx?sid=$1&amp;rid=$2&amp;mid=$3" />
      <rewrite url="/implementation/(.+)" to="/document.aspx?sid=$1&amp;rid=$2&amp;mid=$3" />
      <rewrite url="/outcomes/(.+)" to="/document.aspx?sid=$1&amp;rid=$2&amp;mid=$3" />
      <rewrite url="/publications/(.+)" to="/document.aspx?rid=$1&amp;sid=$2&amp;mid=$3" />
      <rewrite url="/help/(.+)" to="/document.aspx?rid=$1&amp;sid=$2&amp;mid=$3" />
      <rewrite url="/aboutus/(.+)" to="/document.aspx?rid=$1&amp;sid=$2&amp;mid=$3" />
      <rewrite url="/review/(.+)" to="/document.aspx?rid=$1&amp;sid=$2&amp;mid=$3" />
      </rewriter>
      

      我认为它不是 $1,$2,$3 的值,因为在我的目标 url 中它类似于 /document.aspx?sid=42&rid=1&mid=1 但是当我输入 url 时是 /models/childfirst/inbrief。

      【讨论】:

        【解决方案4】:

        我过去曾在 .NET 3.5 中使用过 urlrewriter,它工作得非常好。

        *链接已被删除,因为它不再是工具。

        【讨论】:

        • 为什么你的链接会把我带到成人内容?
        • 疯了,我删除了链接。显然是被原主人遗弃了。
        • 我明白了。谢谢。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-11-08
        • 2011-10-13
        • 2011-01-23
        • 2011-06-20
        • 1970-01-01
        • 2011-07-29
        • 1970-01-01
        相关资源
        最近更新 更多