Model view controller ASP.NET路由问题

Model view controller ASP.NET路由问题,model-view-controller,asp.net-mvc-3,routes,Model View Controller,Asp.net Mvc 3,Routes,如果我去mysite/目录,它就会断开。如何解决呢 routes.MapRoute( "Localization", // Route name "{lang}/{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults ); route

如果我去mysite/目录,它就会断开。如何解决呢

routes.MapRoute(
    "Localization", // Route name
    "{lang}/{controller}/{action}/{id}", // URL with parameters
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Home", action = "Index", id = UrlParameter.Optional} // Parameter defaults
);

routes.MapRoute(
    "Root",
    "",
    new { controller = "Home", action = "Index", id = "" }
);

它将符合你的第一条路线,认为“目录”是“朗”。您需要为本地化创建约束

以下路由应正确匹配以任何语言代码(如en、cs、de或en-US、en-GB…)为前缀的请求

routes.MapRoute("Localization", "{lang}/{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = UrlParameter.Optional },
    new { lang = "[a-z]{2}(-[a-z]{2})" }
);