Как мне реализовать локализацию с маршрутами ASP.NET MVC? - PullRequest
3 голосов
/ 02 марта 2009

Я пытаюсь спланировать будущую (через несколько месяцев) локализацию нового сайта 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 корректно индексировались поисковой системой. Я даже не уверен, что мне нужен язык в URL, но я не думаю, что есть хорошая альтернатива, которая не смутит поисковую систему.

Это приводит ко многим другим вопросам, таким как «не локализовать ли я слово продукты», но сейчас я просто хочу настроить маршрутизацию перед запуском английского сайта.

Ответы [ 2 ]

2 голосов
/ 03 марта 2009

У меня точно такой же 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 голос
/ 12 мая 2011

Я бы использовал другую схему URL, например:

en.mysite.com (English)
mysite.com (default language)
ro.mysite.com (Romanian)

и т.д.

Тогда я бы создал собственный маршрут, как в этот ответ .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...