繁体   English   中英

本地化网站的ASP.NET MVC 3.0根重定向

[英]ASP.NET MVC 3.0 Root Redirect for Localized Web Site

实际上,我通过在URL中传递区域性来处理ASP.NET MVC 3.0网站的全球化

http://mysite.com/en-US/

我在Global.asax中使用以下路由

            routes.MapRoute("Default", "{language}-{culture}/{controller}/{action}/{id}",
                        new
                            {
                                controller = "Home",
                                action = "Index",
                                id = UrlParameter.Optional,
                                language = "fr",
                                culture = "FR"
                            });

现在,我需要将访问网站http://mysite.com根目录的用户重定向到默认区域性或默认浏览器区域性http://mysite.com/zh-CN

实际上,当用户访问没有文化规范的根URL时,会收到404错误。

我该如何执行呢?

谢谢。

我认为您确实需要两条路线,在长条路线中,您需要一个约束来避免路线冲突(实际上,只要您在控制器名称中没有破折号,就可以不用破折号“-”) 。 像这样的东西:

routes.MapRoute("Default", "{language}-{culture}/{controller}/{action}/{id}",
    new
        {
            controller = "Home",
            action = "Index",
            id = UrlParameter.Optional,
        }
    ,
    new
        {
            language = @"[a-z][a-z]|^",
            culture = @"[A-Z][A-Z]|^"
        });

routes.MapRoute("DefaultLocale", "{controller}/{action}/{id}",
    new
        {
            controller = "Home",
            action = "Index",
            id = UrlParameter.Optional,
            language = "fr",
            culture = "FR"
        });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM