我正在开发一个多语种Asp.Net MVC项目。 默认语言是土耳其语,其他语言是英语。 我需要使网站友好。例如网站的一些网址就像;asp.net mvc多国语言网址通过更改url重定向
首页/公司:
- www.example.com/hakkinda
- www.example.com/about
首页/联系方式:
- www.example .com/iletisim
- www.example.com/contact
首页/ FAQ:
- www.example.com/sikca-sorulan-sorular
- www.example.com/frequently-asked-questions
有一些网页喜欢这个。我也有土耳其语和英语seo友好的网页。
我注册路线:
routes.MapRoute(
name: "hakkinda",
url: "hakkinda",
defaults: new { controller = "Home", action = "About"}
);
routes.MapRoute(
name: "about",
url: "about",
defaults: new { controller = "Home", action = "About"}
);
routes.MapRoute(
name: "iletisim",
url: "iletisim",
defaults: new { controller = "Home", action = "Contact"}
);
routes.MapRoute(
name: "contact",
url: "contact",
defaults: new { controller = "Home", action = "Contact"}
);
routes.MapRoute(
name: "sss",
url: "sikca-sorulan-sorular",
defaults: new { controller = "Home", action = "Faq"}
);
routes.MapRoute(
name: "faq",
url: "frequently-asked-questions",
defaults: new { controller = "Home", action = "Faq"}
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home",
action = "Index", id = UrlParameter.Optional }
);
我也有一个主页/ ChangeLanguage方法,它通过特定的文化名设置线程的文化(TR/EN) 用户可以通过点击一个按钮
更改语言我的第一个问题是我需要在用户更改语言时自动更改网址。
初始URL:www.example.com/hakkinda 用户后改变语言为英文网址应该重定向到www.example.com/about 再次,如果用户更改语言回土耳其应该被重定向到www.example .com/hakkinda 这必须适用于所有页面。
我的第二个问题是SEO优化,我需要下面的标签添加到所有页面,以说通过语言机器人的替代网页
<link rel="alternate" hreflang="tr" href="http://www.example.com/hakkinda"/>
<link rel="alternate" hreflang="en" href="http://www.example.com/about"/>
我需要这些链接的标签添加到网站的布局和它必须与当前网址匹配。
你能否给我建议我可以做到这些?
你找到了一个很好的解决方案? – daniel