[英]ASP.NET MVC 3.0 Root Redirect for Localized Web Site
实际上,我通过在URL中传递区域性来处理ASP.NET MVC 3.0网站的全球化
我在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.