在实施UrlRewriter.net时保留旧URL

时间:2009-11-06 11:28:52

标签: hyperlink url-rewriting urlrewriter.net resolveurl

我今天将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那样的额外工作,那么渲染链接会很棒。第二个最好的方法是,如果有一种很好的方法可以在重写列表中添加“另一种方式”的规则。

这也可以让我在调试时轻松关闭/重定向。

1 个答案:

答案 0 :(得分:0)

确定。我在web.forms中实现了MVC路由中使用的Routing tecnique,这使我可以使用下面的代码:

ASPX:

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

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

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

我使用代码 Phil Haack 制作了关于 Webform路由的代码,但是稍微修改了它以使其与母版页一起使用并且还添加了som web.config settigns使用非aspx网址在服务器上顺利运行。

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

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