Sitecore 10.1 |站点解析仅在我选中“启用预览”站点属性(对于从不同站点引用的项目)时才有效

我有多个站点架构。喜欢这个

sitecore/content/site1
sitecore/content/site2

对于 site1 中引用的 site2 的每个项目,我得到以下 URL:

www.site1.com/sitecore/content/site2/item

代替

www.site2.com/item

我调试了 Sitecore.Sites.DefaultItemSiteResolver 并发现,只有将“启用预览”站点属性设置为 true 才能解析该站点:

Sitecore 10.1 |站点解析仅在我选中“启用预览”站点属性(对于从不同站点引用的项目)时才有效

但是现在,在将其设置为 true 后,我遇到了另一个问题,页面解析现在也可以在预览中使用(这不是所需的行为,我只想在那里解析“webiste”站点)。它甚至会忽略设置为 false 的“Preview.ResolveSite”设置。

我做错了什么?如何为已发布的站点启用站点解析,但不为预览启用站点解析?

abcd_219616 回答:Sitecore 10.1 |站点解析仅在我选中“启用预览”站点属性(对于从不同站点引用的项目)时才有效

Sitecore.config 中有几个设置有助于在多站点 Sitecore 解决方案中配置正确的站点解析逻辑:

  • Rendering.SiteResolving — 启用站点解析,因此可以使用正确的主机名、语言和虚拟文件夹呈现跨站点链接。
  • Rendering.SiteResolvingMatchCurrentSite — 构建跨站点链接时会考虑项目位置。某个站点根目录下的所有项目都将在该根目录的上下文中解析。
  • Rendering.SiteResolvingMatchCurrentLanguage — 如果为真,则在构建跨站点链接时会考虑上下文语言。

对于任何多站点解决方案,建议将 Rendering.SiteResolving 设置值保持为 true,以确保使用正确的参数构建跨站点链接。在这种情况下,如果无法解析其他站点,则会在 Preview.DefaultSite 设置中定义的站点的上下文中打开体验编辑器和预览模式。

要确保项目在正确站点的上下文中打开,您必须将 Rendering.SiteResolvingMatchCurrentSite 设置设置为 true

本文链接:https://www.f2er.com/218072.html

大家都在问