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