Это мой первый пост после того, как я долгое время скрывался, поэтому, пожалуйста, будьте осторожны: -)
У меня есть сайт, похожий на твиттер, в котором люди могут зарегистрироваться и выбрать «дружественный URL», поэтому на моем сайте у них будет что-то вроде:
mydomain.com / benjones
У меня также есть статические страницы корневого уровня, такие как:
mydomain.com / о
и, конечно, моя домашняя страница:
mydomain.com /
Я новичок в ASP.NET MVC 2 (на самом деле я только начал сегодня), и я настроил следующие маршруты, чтобы попытаться достичь вышеуказанного.
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("content/{*pathInfo}");
routes.IgnoreRoute("images/{*pathInfo}");
routes.MapRoute("About", "about",
new { controller = "Common", action = "About" }
);
// User profile sits at root level so check for this before displaying the homepage
routes.MapRoute("UserProfile", "{url}",
new { controller = "User", action = "Profile", url = "" }
);
routes.MapRoute("Home", "",
new { controller = "Home", action = "Index", id = "" }
);
}
По большей части это работает нормально, однако моя домашняя страница не запускается! По сути, когда вы заходите на сайт mydomain.com, кажется, что он запускает маршрут профиля пользователя с пустым параметром {url}, поэтому домашняя страница никогда не достигается! Любые идеи о том, как я могу показать домашнюю страницу?