【发布时间】:2013-11-21 11:55:46
【问题描述】:
我正在尝试在我的网站中添加不同的语言,但我并不真正了解正确设置路线以使其正常工作的方法。因为有了我目前拥有的东西,我得到了一个重定向循环。
代码如下:
routes.MapRoute(
null,
url: "{culture}/{pageName}",
defaults: new
{
culture = UrlParameter.Optional,
controller = "Redirect",
action = "Index",
pageName = "debug"
});
routes.MapRoute(
null,
"{pageName}/",
new { controller = "Landing", action = "Index" }
);
routes.MapRoute(
null,
"{culture}/{pageName}/",
new { controller = "Landing", action = "Index" },
new { culture = "^[a-z]{2}" }
);
routes.MapRoute(
null,
"{culture}/blog/{pageName}",
new { controller = "Blog", action = "Index" },
new { culture = "^[a-z]{2}" }
);
routes.MapRoute(
null,
"blog/{pageName}",
new { controller = "Blog", action = "Index" }
);
问题是:如何正确设置我的路线以以这种方式查看网站:
如果点击/pageName > 转到/pageName(默认文化设置在后面并设置为英文)
else If /en/pageName > 重定向到/pageName
否则如果/AnyCulture/pageName > 转到/AnyCulture/pageName
else/incorrectUrl>回家
感谢阅读/回答:)
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-4 asp.net-mvc-routing