0

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

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

4

1 回答 1

0

行。我在 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 来获得我想要的功能。

于 2009-11-11T18:10:48.243 回答