2017-04-12 75 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類中。