【发布时间】:2012-02-21 13:05:54
【问题描述】:
问题
我们有两个站点,一个域,我们想在域上设置一个可以访问第二个站点的虚拟目录。
IIS 虚拟目录似乎无法解决问题,sitecore 似乎无法正常运行。
使用 sitecore 是否有潜在的解决方法?
环境
我们的两个网站的文件夹结构如下:
C:\Sitecore\Site1
C:\Sitecore\Site2
站点 1 和站点 2 都连接到相同的 Web、核心和主数据库。
要在浏览器中访问两个站点的 cms,我们这样做:
- www.mysite1.com/sitecore
我们从站点 1 的 cms 为站点 1 和站点 2 创建内容、布局和模板。
解决方案
我们所做的是在第一个站点 web.config 中我们将站点定义为正常:
<site name="site1" hostName="mysite1.com" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content" startItem="/MyItem1/" 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" />
在第二个站点 web.config 中,我们对站点的定义略有不同:
<site name="site2" hostName="mysite1.com" virtualFolder="/Site2" physicalFolder="/" rootPath="/sitecore/content" startItem="/MyItem2/" 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" />
我们在第二个站点定义了一个虚拟文件夹,您可以在上面注意到它是唯一的区别以及明显的起始项区别。
站点 1 将正常响应。您可以访问 mysite1.com,它将加载与网站 1 相关的启动项。
当您访问 mysite1.com/Site2/ 时,它将加载在第二个站点中定义的虚拟文件夹并加载其相关的启动项。
这几乎就像一个魅力。
最后@Mark Ursino 感谢您的帮助。
注意事项
您需要启用站点核心可扩展性配置才能使上述任何一项工作
【问题讨论】:
-
请从您的
web.config提供<site ...>配置 -
添加了配置,这样你就可以看到我实际上想要做什么。
-
知道了。嗯,我有点困惑
myitem与/Partners/UK/或/Partners/NZ/的关系...是myitem的其中之一吗? -
是的,很抱歉只有一个站点,开始项目可以说:/MyItem/ 以上已修改。
-
那么当您访问
www.example.com/myitem-no2/时,它会呈现该项目吗?但是当您调用 LinkManager.GetItemUrl(...) 时,它会呈现为www.example.com/sitecore/content/myitem/myitem-no2/?我仍然不确定到底是什么问题。
标签: url content-management-system sitecore sitecore6