我今天将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那样的额外工作,那么渲染链接会很棒。第二个最好的方法是,如果有一种很好的方法可以在重写列表中添加“另一种方式”的规则。
这也可以让我在调试时轻松关闭/重定向。
答案 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停止以获得我想要的功能。