【问题标题】:Keep old URLs when implementing UrlRewriter.net实现 UrlRewriter.net 时保留旧 URL
【发布时间】:2009-11-06 11:28:51
【问题描述】:

我今天将 UrlRewriter.net 添加到我的网站,它可以很好地将我的 SEO 链接重定向到实际页面。问题是是否有任何方法可以将我的旧链接保留在站点中,并让 ResolveUrl() 使用规则在我的页面中输出链接。搜索机器人或用户都不应查看“旧”链接。

页面中的示例链接:

<a href="<%= ResolveUrl("~/Help.aspx") %>">Help</a>

我在 web.config 中添加了这样的重写代码:

<rewrite url="~/help" to="~/help.aspx" />
<rewrite url="~/help/(.+)" to="~/help.aspx?section=$1" />

首先,如果没有像 MVC 那样的额外工作就可以呈现链接,这将是非常棒的。第二个最好的方法是,如果有一种很好的方法可以在重写列表中添加“另一种方式”的规则。

这也使我能够在调试时轻松关闭/打开重定向。

【问题讨论】:

    标签: hyperlink url-rewriting urlrewriter.net resolveurl


    【解决方案1】:

    好的。我在我的 web.forms 中实现了 MVC 路由中使用的路由技术,它允许我使用以下代码:

    ASPX:

    <%= Url.RouteUrl("article", new { name="my-name-for-artcile"}) %>
    

    并在一个地方注册所有路线,例如:

    routes.MapWebFormRoute("articles", "artiklar", "~/articles.aspx");
    

    我使用 Phil Haack 编写的关于 Webform 路由 的代码,但对其进行了小幅修改以使其与母版页一起使用,并将 som web.config settigns 添加到让它在具有非 aspx url 的服务器上顺利运行。

    http://blog.joakimfischer.se/post/2009/11/08/Web-Form-Routing.aspx

    现在它按预期工作,但我停止使用 UrlRewriter.net 来获得我想要的功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-11
      • 2015-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-15
      相关资源
      最近更新 更多