ASP.Net webforms - динамические SEO дружественные URL

Я много читал о SEO-дружественных функциях URL в ASP.Net. Большая часть того, что я прочитал, заключается в том, чтобы взять 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 ответа

Решение

Этот простой маршрут отобразит URL-адрес маршрута на физическую страницу.aspx.

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

Так что / о картах для /about.aspx, / contact-us карты для contact-us.aspx и т. Д.

Microsoft недавно выпустила новую библиотеку, чтобы сделать такие вещи быстрыми и легкими в веб-формах. Вот ссылка с полезной информацией: http://www.hanselman.com/blog/IntroducingASPNETFriendlyUrlsCleanerURLsEasierRoutingAndMobileViewsForASPNETWebForms.aspx

Другие вопросы по тегам