Sitecore 7.2 - 内部链接返回不正确的主机名

Sitecore 7.2 - Internal Links returning incorrect host names

我有 2 个具有相同站点树的 Sitecore 站点(我们称它们为 SiteABC 和 SiteXYZ)。有时,在页面的富文本编辑器中,从一个站点的子页面到另一个站点的子页面需要 link。我面临的问题是内部链接没有返回正确的主机名。

更新:我已经解决了关于 link 将 SiteXYZ 上的页面 link 转换为 SiteABC 上的页面的内部 link 问题。请参阅下面更新的 Web.config 代码。

<site name="siteabc" hostName="siteabc.local.com" targetHostName="siteabc.local.com:8080" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content" startItem="/siteabc" database="web" domain="extranet" allowDebug="true" cacheHtml="false" htmlCacheSize="10MB" registryCacheSize="0" viewStateCacheSize="0"
    xslCacheSize="5MB" filteredItemsCacheSize="2MB" enablePreview="true" enableWebEdit="true" enableDebugger="true" disableClientData="false" />
<site name="wwwsiteabc" hostName="www.siteabc.local.com" targetHostName="siteabc.local.com:8080" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content" startItem="/siteabc" database="web" domain="extranet" allowDebug="true" cacheHtml="false" htmlCacheSize="10MB" registryCacheSize="0"
    viewStateCacheSize="0" xslCacheSize="5MB" filteredItemsCacheSize="2MB" enablePreview="true" enableWebEdit="true" enableDebugger="true" disableClientData="false" />
<site name="wwwsitexyz" hostName="www.sitexyz.local.org" targetHostName="sitexyz.local.org" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content" startItem="/sitexyz" database="web" domain="extranet" allowDebug="true" cacheHtml="true" htmlCacheSize="10MB" registryCacheSize="0"
    viewStateCacheSize="0" xslCacheSize="5MB" filteredItemsCacheSize="2MB" enablePreview="true" enableWebEdit="true" enableDebugger="true" disableClientData="false" />
<site name="sitexyz" hostName="sitexyz.local.org" targetHostName="sitexyz.local.org" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content" startItem="/sitexyz" database="web" domain="extranet" allowDebug="true" cacheHtml="true" htmlCacheSize="10MB" registryCacheSize="0" viewStateCacheSize="0"
    xslCacheSize="5MB" filteredItemsCacheSize="2MB" enablePreview="true" enableWebEdit="true" enableDebugger="true" disableClientData="false" />

我仍然无法从 SiteABC 到 SiteXYZ 的内部 links。尽管我已将 SiteXYX 的 targetHostName 设置为 sitexyz.local.org,但 url--8080 仍然存在问题:

sitexyz.local.org:8080/parentPage/childPage.aspx

这是不正确的,因为它应该是 sitexyz.local.org-- 没有附加 8080。

有什么方法可以通过调整 Web.config 文件中的设置来解决这个问题吗?我不想创建一些自定义 class 来覆盖任何东西——我仍在学习 Sitecore,并且不知道我将如何去做这样的事情:\我假设有一些东西Web.config 不过我可以更改,只是不确定是什么,因为我以前在 Sitecore 中没有处理过此类问题。

对于多站点环境,如果您想在站点之间交叉 link,请始终对每个站点定义使用 targetHostName。如果该项目属于给定站点,它会告诉 Sitecore 生成的 url 的主机名应该是什么。

对于端口问题,如果未为 target 站点指定 port,Sitecore 将使用您的 current[=26] 的端口号=] 网站。这就是 Sitecore 将 :8080 添加到您的 link 的原因。只需将 port="80" 添加到您的 SiteXYZ 定义中,问题就会消失。

可以在 站点属性中找到更多文档 条。由于某种原因,它不包含 port 信息,但它在 SiteInfo class.