我们有一个项目,通过IIS中的Bindings设置了2个站点。
除了内容编辑器添加内部链接之外,一切都很好。 Sitecore在字段中存储一个值,例如
/OSS/Home/Assets/Freshwater wildlife
但是在我们删除站点名称和Home以获取路径
之前,链接不会解析(404)/Assets/Freshwater wildlife
我认为完整路径/OSS/Home/Assets/Freshwater wildlife
是正确的,但我们如何让Sitecore(6.5)识别此网址?
答案 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;