我正在尝试计划新的ASP.NET MVC站点的未来(几个月之后)本地化。
尝试确定最有意义的事情,就构建URL和路由而言。
例如我应该立即开始:
http://www.example.com/en/Products/1001
http://www.example.com/es/Products/1001
或只是
http://www.example.com/Products/1001
然后再添加其他语言
http://www.example.com/en/Products/1001
这就是我现在的基本主要问题,试图让路由正确。我希望我的网址可以被搜索引擎正确索引。我甚至不确定我是否需要URL中的语言,但我不认为有一个不会混淆搜索引擎的好选择。
它导致了各种其他问题,比如“我不应该将产品一词本地化”,但是现在我只想在启动英文网站之前获得路由。
答案 0 :(得分:2)
我和你一样有完全相同的URL_mapping。我的路线也使用约束。 适合我。
routes.MapRoute(
// Route name
"LocalizedController",
// URL with parameters
"{language}/{controller}/{action}",
// Parameter defaults
new {
controller = "Home", action = "Index",
language = "de"
},
//Parameter constraints
new { language = @"de|en" }
答案 1 :(得分:1)
我会使用不同的URL方案:
en.mysite.com (English)
mysite.com (default language)
ro.mysite.com (Romanian)
等
然后我会创建一个自定义路线,如this answer。