ASP.Net webforms - 动态SEO友好URL

时间:2012-10-04 13:24:33

标签: c# asp.net routing webforms asp.net-4.5

我一直在阅读很多关于ASP.Net中的SEO友好URL功能。我读过的大多数内容涉及使用一个使用查询字符串参数并使其漂亮的URL。我对制作标准网址非常感兴趣。例如:

http://mysite.com/aboutus.aspx

should be...

http://mysite.com/about-us

我发现以下代码符合要求:

void Application_Start(object sender, EventArgs e) 
{
    // Enable routing
    RegisterRoutes(RouteTable.Routes);
}

void RegisterRoutes(RouteCollection routes)
{        
    // About us section routes
    routes.MapPageRoute(
        "AboutUsRoute",
        "{about-us}",
        "~/aboutus.aspx"
     );
}

我的问题是我必须为网站中的每个页面手动指定路线。有更好的方法吗?

2 个答案:

答案 0 :(得分:3)

这条简单的路线会将路线Url映射到物理.aspx页面。

routes.MapPageRoute("Page", "{name}", "~/{name}.aspx");

所以 / about 映射到 /about.aspx / contact-us 映射到 contact-us.aspx 等等。

答案 1 :(得分:3)

微软最近发布了一个新的库,可以在Web窗体中快速轻松地完成这类工作。这是一个有用信息的链接: http://www.hanselman.com/blog/IntroducingASPNETFriendlyUrlsCleanerURLsEasierRoutingAndMobileViewsForASPNETWebForms.aspx