我有一个带有 2 个站点的 Sitecore 6.2 安装,配置如下:
<site name="eu-website" hostName="dev.mysite.eu" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content/Europe" startItem="/Home" 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="us-website" hostName="dev.mysite.us" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content/USA" startItem="/Home" 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" />
这些站点按预期响应 URL,即:
http://dev.mysite.eu/About
-> 决议:/sitecore/content/Europe/About
但是,我在使用 LinkManager 时遇到了问题。它生成不正确的 URL,例如:
http://dev.mysite.eu/Europe/About
如您所见,其中包含站点名称,该名称不正确并导致 404。
我像这样使用 LinkManager:
var urlOptions = new UrlOptions();
urlOptions.SiteResolving = true;
string url = LinkManager.GetItemUrl(item, urlOptions);
有人知道我要去哪里错了吗?
谢谢。