在多站点项目中添加内部链接

时间:2013-12-05 03:11:20

标签: sitecore sitecore6

我们有一个项目,通过IIS中的Bindings设置了2个站点。

除了内容编辑器添加内部链接之外,一切都很好。 Sitecore在字段中存储一个值,例如

/OSS/Home/Assets/Freshwater wildlife

但是在我们删除站点名称和Home以获取路径

之前,链接不会解析(404)
/Assets/Freshwater wildlife

我认为完整路径/OSS/Home/Assets/Freshwater wildlife是正确的,但我们如何让Sitecore(6.5)识别此网址?

1 个答案:

答案 0 :(得分:1)

首先,在渲染链接时,需要确保解决方案使用正确的主机名。

请检查您的网站配置:

<site name="website_1" hostName="www.site1.com" language="en" cacheHtml="false" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content/site1" startItem="/home" database="web" domain="extranet" allowDebug="true" htmlCacheSize="10MB" registryCacheSize="0" viewStateCacheSize="0" xslCacheSize="5MB" filteredItemsCacheSize="2MB" enablePreview="true" enableWebEdit="true" enableDebugger="true" disableClientData="false" />
<site name="website_2" hostName="www.site2.com" language="en" cacheHtml="false" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content/site2" startItem="/home" database="web" domain="extranet" allowDebug="true" htmlCacheSize="10MB" registryCacheSize="0" viewStateCacheSize="0" xslCacheSize="5MB" filteredItemsCacheSize="2MB" enablePreview="true" enableWebEdit="true" enableDebugger="true" disableClientData="false" />

如果是这样的话。    另请检查web.config上的Rendering.SiteResolving是否为真。

<setting name="Rendering.SiteResolving" value="true" />

如何在代码上呈现链接?

如果使用:

进行渲染
Sitecore.Links.UrlOptions defaultOptions = Sitecore.Links.UrlOptions.DefaultOptions;
string itemUrl = Sitecore.Links.LinkManager.GetItemUrl(item, defaultOptions);

请添加:

defaultOptions.SiteResolving = true;