值不能为空.参数名称:virtualPath - Sitecore

Dhe*_*iri 1 xml sitecore sitecore7.1

我在sitecore网站配置部分创建了一个新网站:

<site name="site2" hostName="website.local" virtualFolder="/oscar-dresses" physicalFolder="/" rootPath="/sitecore/content" targetHostName="website.local" startItem="/Oscar Dresses" 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="website" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content" hostName="website.local" targetHostName="website.local" 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" />
Run Code Online (Sandbox Code Playgroud)

一旦我在配置中添加新网站,当我转到http://website.local/oscar-dresses.我得到的价值不能为空.参数名称:virtualPath.我错过了什么吗?它在sitecore的预览模式下工作正常.

任何建议将不胜感激.

Rva*_*len 5

我实际上认为这是一个错误,除非有人在这里纠正这个.我在设置演示站点以进行测试时遇到了同样的问题,并通过添加物理文件夹来解决这个问题.

如果仅配置了虚拟文件夹并且将空字符串传递给DirectoryExists方法,则FileResolver处理器不会在args.Url.FilePath中接收文件路径.因此"价值不能为空".奇怪的是,如果你没有传递虚拟文件夹,那么FilePath设置为"/",处理器不会中断.当你只添加一个virtualFolder并将physicalFolder保留为默认值时,我会期待相同的行为.

所以简而言之:你可以为physicalFolder添加一个值,它应该修复它.

<site name="site2" hostName="website.local" virtualFolder="/oscar-dresses" physicalFolder="/oscar-dresses" rootPath="/sitecore/content" targetHostName="website.local" startItem="/Oscar Dresses" 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" />
Run Code Online (Sandbox Code Playgroud)

如果文件路径为空,您还可以覆盖FileResolver处理器并添加"/".

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <pipelines>
      <httpRequestBegin>
        <processor type="SitecoreMvc75.Pipelines.FileResolver, SitecoreMvc75" patch:instead="processor[@type='Sitecore.Pipelines.HttpRequest.FileResolver, Sitecore.Kernel']"/>
      </httpRequestBegin>
    </pipelines>
  </sitecore>
</configuration>
Run Code Online (Sandbox Code Playgroud)

但我们绝对应该向Sitecore支持报告问题.


Mar*_*ino 5

virtualFolder和physicalFolder需要匹配.这是一篇关于你要做什么的博客文章:

http://firebreaksice.com/sitecore-managed-sites-as-virtual-folders/