Kentico 8 - 带有 url 前缀的本地化 - 默认文档
Kentico 8 - Localization with url prefixes - default document
我正在尝试按照下面的文档页面为 URLs
使用语言前缀
https://docs.kentico.com/display/K8/Configuring+URLs+for+multilingual+websites
我得到一个别名 "Home" 的页面,它应该是所有文化的默认文档。
目前可以使用三种文化:
- 法语(法国)(默认)
- 法语(比利时)
- 荷兰语(比利时)
我想要实现的是:
- [baseurl] -> 重定向到 [baseurl]/fr-fr/
- [baseurl]/fr-fr/ -> 只显示带有 "Home" 别名
的页面
- [baseurl]/fr-be/ -> 重定向到 [baseurl]/fr-be/
- [baseurl]/nl-be/ -> 重定向到 [baseurl]/nl-be/
所有这些都应该显示具有所需文化中的 "Home" 别名的页面。
我现在得到的是:
- [baseurl] -> 重定向到 [baseurl]/fr-fr/Home 正确,但是 url 错误("Home" 应该不是必需的)
- [baseurl]/fr-fr/ -> 只显示 "Home" 别名正确
的页面
- [baseurl]/fr-be/ -> 显示带有 "Home" 别名且具有法语(法国)文化
的页面
- [baseurl]/nl-be/ -> 显示带有 "Home" 别名且具有法语(法国)文化
的页面
基本上是忽略 url-前缀。
我的设置
1) 在根目录下找到了别名 "Home" 的页面(这应该是默认的)本地化了所有 3 种文化
2) 在 Settings/Content 部分的 "Web site content" 中,"Default alias path" 设置为“/Home”。
3) Settings/Urls & Seo 部分 "SEO - Cultures" 中的值如下:
- 力域文化:FALSE
- 为 URL 使用语言前缀:TRUE
- 允许 URLs 没有语言前缀: FALSE
我做错了什么吗?我是否需要以不同方式设置网站才能使其按预期工作?
谢谢
关于该行为的额外信息
关于网站异常行为的额外测试用例:
- [baseurl]/home-fr -> 重定向到 /fr-be/home
- [baseurl]/home-nl -> 重定向到 /nl-be/home
这两个看起来都不错,但都在展示(法国法国)文化
- [baseurl]/fr-be/home-fr 正确显示法语比利时版
- [baseurl]/nl-be/home-nl 正确显示荷兰语比利时版本。
问题是它应该只使用 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 文化主页
我正在尝试按照下面的文档页面为 URLs
使用语言前缀https://docs.kentico.com/display/K8/Configuring+URLs+for+multilingual+websites
我得到一个别名 "Home" 的页面,它应该是所有文化的默认文档。
目前可以使用三种文化:
- 法语(法国)(默认)
- 法语(比利时)
- 荷兰语(比利时)
我想要实现的是:
- [baseurl] -> 重定向到 [baseurl]/fr-fr/
- [baseurl]/fr-fr/ -> 只显示带有 "Home" 别名 的页面
- [baseurl]/fr-be/ -> 重定向到 [baseurl]/fr-be/
- [baseurl]/nl-be/ -> 重定向到 [baseurl]/nl-be/
所有这些都应该显示具有所需文化中的 "Home" 别名的页面。
我现在得到的是:
- [baseurl] -> 重定向到 [baseurl]/fr-fr/Home 正确,但是 url 错误("Home" 应该不是必需的)
- [baseurl]/fr-fr/ -> 只显示 "Home" 别名正确 的页面
- [baseurl]/fr-be/ -> 显示带有 "Home" 别名且具有法语(法国)文化 的页面
- [baseurl]/nl-be/ -> 显示带有 "Home" 别名且具有法语(法国)文化 的页面
基本上是忽略 url-前缀。
我的设置
1) 在根目录下找到了别名 "Home" 的页面(这应该是默认的)本地化了所有 3 种文化
2) 在 Settings/Content 部分的 "Web site content" 中,"Default alias path" 设置为“/Home”。
3) Settings/Urls & Seo 部分 "SEO - Cultures" 中的值如下:
- 力域文化:FALSE
- 为 URL 使用语言前缀:TRUE
- 允许 URLs 没有语言前缀: FALSE
我做错了什么吗?我是否需要以不同方式设置网站才能使其按预期工作?
谢谢
关于该行为的额外信息
关于网站异常行为的额外测试用例:
- [baseurl]/home-fr -> 重定向到 /fr-be/home
- [baseurl]/home-nl -> 重定向到 /nl-be/home
这两个看起来都不错,但都在展示(法国法国)文化
- [baseurl]/fr-be/home-fr 正确显示法语比利时版
- [baseurl]/nl-be/home-nl 正确显示荷兰语比利时版本。
问题是它应该只使用 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 文化主页