url 语言文化的 Sitecore 多站点设置

Sitecore multisite setup with language-culture in url

我想设置一个包含多个站点的 sitecore 解决方案。站点主机名需要有后缀 language-culture,所以我希望 urls 像:

[HOST]/de-DE
[HOST]/sv-SE
[HOST]/fr-BE
[HOST]/nl-BE

我尝试使用像 "de-DE" 这样的虚拟路径来配置站点,但这没有帮助。这个应该怎么配置?

如果我希望比利时站点(fr-BE 和 nl-BE)成为一个具有多种语言(翻译)的站点,但可以从给定的 url 结构访问,应该如何设置?

您可能更幸运地在 https://sitecore.stackexchange.com/ 上获得答案,但是,我将在这里回答,因为我无法移动您的问题。

在我看来,您需要为每个站点混合使用两个单独的网站节点,以及其中一些站点(fr-BE 和 nl-BE)中的翻译版本。

只要网站定义在 之前 网站节点进行了修补,它们就应该被 Sitecore 的基于虚拟文件夹的网站解析器拾取。请注意,使用 virtualFolder 时有一个特殊要求,其中 physicalFolder 值必须匹配。更多信息 here

<site name="fr-BE" ... virtualFolder="/fr-BE" physicalFolder="/fr-BE" rootPath="/sitecore/content" startItem="/Home Belgium" language="fr-BE" ... />
<site name="nl-BE" ... virtualFolder="/nl-BE" physicalFolder="/nl-BE" rootPath="/sitecore/content" startItem="/Home Belgium" language="nl-BE" ... />
<site name="de-DE" ... virtualFolder="/de-DE" physicalFolder="/de-DE" rootPath="/sitecore/content" startItem="/Home Germany" language="de-DE" ... />
<site name="website" ... virtualFolder="/" rootPath="/sitecore/content" startItem="/Home" ... />

注意前两个站点定义如何指向相同的起始项(在我的示例中为 /Home Belgium)。这允许您在该网站上仍然使用 Sitecore 的语言版本翻译,同时保持项目树结构与德语网站分开。

接下来,您需要关闭负责从每个请求中识别和删除语言前缀的条带语言处理器。这是默认打开的,将阻止您使用与语言代码匹配的虚拟文件夹。

<!-- Set to false to allow language code virtual folders -->
<setting name="Languages.AlwaysStripLanguage" value="false" />

最后,确保您安装了正确的语言并且您的内容以正确的语言发布。