我们有四种不同的环境 - 开发虚拟机,开发,质量保证和生产。所有环境都具有“网站”站点的以下设置:
<site name="website" virtualFolder="/" physicalFolder="/"
rootPath="/sitecore/content" startItem="/home" database="master"
domain="extranet" allowDebug="true" cacheHtml="false"
htmlCacheSize="10MB" registryCacheSize="0" viewStateCacheSize="0"
xslCacheSize="5MB" filteredItemsCacheSize="2MB" enablePreview="true"
enableWebEdit="true" enableDebugger="true"
disableClientData="false" loginPage="/" hostName="www.site.com"
enableFallback="true" enforceVersionPresence="true"/>.
所以在VM和prod,www.site.com / en / home / press和www.site.com/en/press工作。
但是在开发和质量保证方面,www.site.com / en / home / press可以使用,但www.site.com/en/press不起作用。 (与startItem一起使用,但在没有它的情况下获得404)。
在启用和禁用ISAPI的情况下都会发生这种情况(无例外)。
我不确定这里发生了什么或者在哪里看,除了确保我的开始项目看起来状态良好。
我该怎么做才能解决这个问题?如果您需要更多信息,请告诉我。
由于
答案 0 :(得分:2)
试着看看:
web.config中的“linkManager”标记,有一个名为:
的属性languageEmbedding:asNeeded |总是|从未
可以在这些解决方案上设置不同。
答案 1 :(得分:1)
如果您有多语言网站,建议您使用
语言嵌入:总是
优点:
是的,您可以检查Config文件是否有任何区别。如Martijn所述,您可以使用www.site.com/sitecore/admin/showconfig.aspx复制配置,使用任何文件比较工具(如WinMerge等)进行比较。
项目中的层次结构是什么? Sitecore-Content-home-Press或 Sitecore的内容 - 家庭 - 首页 - 新闻?
在我的项目中,您提到的设置有database = web。
答案 2 :(得分:1)
我无法添加评论,但正如Martijn所说,你需要比较这些配置。现在这应该非常简单,因为您应该使用配置包含文件,因此环境之间的更改应该非常小。如果您没有使用它们,那么您应该开始使用它们,它可以更容易地找出与默认Sitecore安装的差异,并且还将使您的升级在将来更容易。或者您可能正在将它们用于其他环境,这是导致问题的原因吗?
All About web.config Include Files with the Sitecore ASP.NET CMS
至于比较配置,使用已经提到的WinMerge之类的文件比较工具,可以更容易地消除差异。
另外,正如Maulik所说,默认配置有:database="web" content="master"
答案 3 :(得分:0)
这看起来像配置差异。使用www.site.com/sitecore/admin/showconfig.aspx比较实时配置。这样您就可以看到实际的配置,其中还包括您的所有/ app_config / include / files