首页 > 解决方案 > Kentico 8 多语言前缀仅用于替代语言而不是根

问题描述

我代表客户发布此内容,并且不熟悉 Kentico 和 .NET,所以请多多包涵。

问题

我们的客户有一个两种语言的网站,比如说英语和德语。

URL 当前输出如下:

即使进行了规范化,上述内容对于 SEO 目的也非常不整洁和不利。

我的客户尝试在 Kentico 8 中为 URL 实现多语言前缀,但结果如下:

这样更好,但我既不想重定向根域,也不想拥有多余的/en/子目录。

我浏览了 Kentico 支持论坛并尝试获取文档,但这些信息似乎并不容易获得。

我需要什么

我只想将多语言前缀用于替代语言(不是默认语言)。例如:

有人可以告诉我:

  1. 需要设置哪些 CMS 设置才能使所需的 URL 结构正常工作?
  2. 如果需要某种自定义 URL 重写处理程序,需要做什么?(我会在我去的时候更新这个,但甚至不知道从哪里看/开始)

标签: urlkenticomultilingual

解决方案


如果理解正确,您需要不带前缀的默认(英语)和带前缀的其他语言。您可以完全使用 Kenitco 设置来完成(我在我的一个网站上进行了相同的设置)。去settings-> URLs and SEO -> SEO - Cultures。您需要检查最后 2 个(使用 URL的语言前缀 和允许没有语言前缀的 URL)。这里是文档也看看如何配置前缀

还要确保在sites -> your site name -> culture默认内容文化中设置为英语。我知道您可以使用 routes,即您将拥有 /home 用于英语和 /de/home 用于德语,但我认为您不能使用标准 URL 来实现。本质上,您将不得不切换到整个站点的路由(如果您的站点不大,您可以手动进行)。

PS 当您添加新路线时,您需要重新启动应用程序才能使路线工作(尤其是在 8 中)。


推荐阅读