我被要求创建一个多国家页面,该页面应具有不同的基本URL,具体取决于页面的类型。
对于大多数页面,它应该是example.com/{country}/{language}/home,对于某些页面来说,它应该只是/ {country} /,对于某些页面来说应该是/ {language} /
这个想法是能够在没有重复内容的情况下优化SEO页面,它应该允许任何国家/地区和任何语言组合,因此对这样的事情使用1参数-则行不通。
我是net core的新手,对如何实现此解决方案一无所知。
答案 0 :(得分:0)
@eVolve提供了解决方案。
使用该存储库,我能够执行我需要的操作。 https://github.com/gpeipman/AspNetCoreLocalization
诀窍是使用asp-route- {value}标签帮助程序,当与地图路线结合使用时,它可以设置路径。
<li asp-route-country="uk" asp-route-lang="ru"><a asp-controller=@currentController asp-action=@currentAction asp-route-country="uk" asp-route-lang="ru">uk ru</a></li>
routes.MapRoute(
name: "LocalizedDefaultcl",
template: "{country:country}/{lang:lang}/{controller=Home}/{action=Index}/{id?}"
);
routes.MapRoute(
name: "LocalizedDefault",
template: "{lang:lang}/{controller=Home}/{action=Index}/{id?}"
);
routes.MapRoute(
name: "LocalizedDefaultCountry",
template: "{country:country}/{controller=Home}/{action=Index}/{id?}"
);