ルート データに基づいて MVC3 サイトをローカライズしています。たとえば、http://domain/fr
サイトをフランス語で表示し、http://domain
デフォルトで英語にする必要があります... 以下は、Global.ascx にルートを登録する方法です。
私の問題はhttp://domain/fr/Home/Index
機能しますが、http://domain/Home/Index
リソースが見つからないというエラーが表示され、調査の結果、ルートテーブルが「ホーム」を {lang} にマッピングしていることがわかります
私は何が欠けていますか?
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("favicon.ico");
routes.MapRoute(
"LogOn", // Route name
"Account/{action}", // URL with parameters
new { controller = "Account", action = "LogOn" } // Parameter defaults
);
routes.MapRoute(
"Localization", // Route name
"{lang}/{controller}/{action}", // URL with parameters
new { UrlParameter.Optional, controller = "Home", action = "Index"} // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}", // URL with parameters
new { controller = "Home", action = "Index"} // Parameter defaults
);
}