Kentico 8 - 带有 url 前缀的本地化 - 默认文档

Kentico 8 - Localization with url prefixes - default document

我正在尝试按照下面的文档页面为 URLs

使用语言前缀

https://docs.kentico.com/display/K8/Configuring+URLs+for+multilingual+websites

我得到一个别名 "Home" 的页面,它应该是所有文化的默认文档。

目前可以使用三种文化:

我想要实现的是:

所有这些都应该显示具有所需文化中的 "Home" 别名的页面。

我现在得到的是:

基本上是忽略 url-前缀。

我的设置

1) 在根目录下找到了别名 "Home" 的页面(这应该是默认的)本地化了所有 3 种文化

2) 在 Settings/Content 部分的 "Web site content" 中,"Default alias path" 设置为“/Home”。

3) Settings/Urls & Seo 部分 "SEO - Cultures" 中的值如下:

我做错了什么吗?我是否需要以不同方式设置网站才能使其按预期工作?

谢谢

关于该行为的额外信息

关于网站异常行为的额外测试用例:

这两个看起来都不错,但都在展示(法国法国)文化

问题是它应该只使用 url 别名 "home",就像正常的 fr-fr 版本一样。此别名在页面的 Url 选项卡下指定:

当前设置

下面你可以找到我想要默认的页面。请记住,“使用自定义 URL 路径”被设置为 false,但出于测试目的,我打开了它,试图将 /Home 与所有文化相关联。问题是一旦我保存路径就变成了“/Home-1”。我认为这是因为Home的默认版本已经有了路径“/Home”。

内容下的设置 请记住,我尝试使用宏根据文化以不同的方式选择“默认别名路径”。它没有工作,因为它根本没有处理宏(站点被重定向到宏的文字字符串)

URL 下的设置和 SEO 在这里,我尝试检查“为 URL 路径使用名称路径”选项,但仍然没有成功。 (试过 [baseurl]/nl-be 并且仍然显示主页的 fr-fr 版本)

您还需要在设置 Urls and SEO > SEO - URLs > Default page as Use domain root 中进行设置

我建议阅读这篇文章 cultures demystified(对于版本 7,但设置仍然存在)您可能在网站(站点应用程序)/用户(用户应用程序)设置,还启用 kentico SQL 调试并根据 where 条件检查检索了哪种文化(通常执行了哪些 SQL 查询)...这可能表明发生了什么...也尝试以不同的用户身份登录并尝试不同的浏览器(浏览器具有基于 kentico 决定显示文化的首选语言设置)

还要确保您没有在主页上为特定文化设置别名/页面路径。

我有同样的问题,但我需要 domain.com 作为 en-gb 文化和其他域的主要 url。com/fr-fr 等等。我找不到开箱即用的解决方案,所以我开发了一个自定义模块,它在更新或创建 TreeNode 元素时捕获事件,并用值“/”更新当前节点的 DocumentUrlPath 列+文化代码(或别名,如果存在)+“/”+当前文档名称。 我检查当前文档是否为主页,我保存时没有文档名称。 我还取消了设置中复选框 "Use prefixes for URLs" 的勾选。

现在我的网站上一切正常。

来自 KENTICO 支持的回答

我解决问题的步骤:

1) Url 和 Seo/Default 页面下:select "Use domain root"

2) 对于主页的每种文化 > "Page URL Path",选中 "Use custom url path" 并将 "Path or pattern" 设置为空字符串 ("")

现在一切正常。

[domainname]/ > 正确重定向到 [domainname]/fr-fr 显示 fr-fr 文化

[域名]/fr-fr > 正确显示 fr-fr 文化主页

[域名]/fr-BE > 正确显示 fr-BE 文化主页

[域名]/nl-BE > 正确显示 nl-BE 文化主页