2017-04-12 79 views
1

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

更新:我已解决有关将SiteXYZ上的页面链接到SiteABC上的页面的内部链接问题。请参阅下面更新的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内部链接。尽管我已经设置了targetHostName为SiteXYX被sitexyz.local.org,还有与该URL的一个问题 - 8080不断被追加:

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

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

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

+0

您是否尝试将'targetHostName'设置为网站定义?请参阅https://sdn.sitecore.net/Articles/Administration/Configuring%20Multiple%20Sites/Adding%20New%20Site/site%20Attribute%20Properties.aspx –

+0

设置SiteABC的targetHostName工作正常,但对SiteXYZ无效。查看我更新的帖子以获取详细信息。 –

+0

尝试将'port =“80”'添加到'SiteXYZ'定义。 –

回答

1

对于多地点环境,如果要在站点之间交叉链接,请始终为每个站点定义使用targetHostName。这告诉Sitecore如果该项目属于给定站点,应该是生成的URL的主机名。

而对于端口问题,如果不是因为目标网站指定port是,Sitecore的使用端口号从当前网站。这就是为什么Sitecore将:8080添加到您的链接。只需在您的SiteXYZ定义中添加port="80"即可,问题应该消失。

更多文档可以在site Attribute Properties 文章中找到。由于某种原因,它不包含端口信息,但它在SiteInfo类中。