2009-11-06 46 views
0

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

实例链接:

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

我在web.config中添加重写代码:

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

首先,它会是巨大的,有没有像MVC任何额外的工作呈现的链接具有。第二个最好的情况是,如果在重写列表中添加“另一种方式”的规则,还有一个好方法。

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

回答

0

好的。我实现我的web.forms代替它允许我使用下面的代码在MVC路由使用的路由tecnique:

ASPX:

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

和注册的所有路由在同一个地方,如:

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

我用代码Phil Haack取得约网络表单但修改它在一个小的方式让它与母版页一起工作,并且还添加了som web.config settigns来让我使用非aspx网址可以在服务器上顺利运行。

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

现在按预期工作,但我采空用UrlRewriter.net得到我想要的功能。