Всем привет!
Стандартный маршрут в асп следующий:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Чтобы в действиях Home контроллера на главных страницах (о сайте, контакты) и т д избежать не нужной вложенности и убрать home, я выше этого маршрута пишу:
routes.MapRoute(
"HomeContact",
"contact",
new { controller = "Home", action = "Contact" }
);
теперь у меня красивый урл site/Contact вместо site/home/Contact
обнаружил проблему в плане SEO - моя страница доступна по обоим маршрутам - site/Contact и site/home/Contact
это дубли. Как сделать более правильно и изящно? Писать в web.config на каждую страницу 301 редирект как то совсем не хочется. Мало то го что в RoutConfig на каждую страницу добавляю маршрут, так еще и теперь редиректы....
если я правильно понимаю тег каноника, то мне на дублях страницах (site/home/Contact) нужно добавить
<link rel="canonical" href="http://site/Contact" />
но матерый знакомый сеошник говорит правильно 301 редирект...
Спасибо.