【问题标题】:Sitecore 8 shell controller returning IIS 404Sitecore 8 shell 控制器返回 IIS 404
【发布时间】:2016-01-20 14:08:26
【问题描述】:

我目前在尝试访问 sitecore 8 update 5 管理区域中的体验优化磁贴时发出的所有控制器请求都出现 IIS 8 404 错误。控制器的部分路径看起来像这样 http://sitecore/shell/api/ct/TestOutcomes

有趣的一点是所有其他站点核心管理磁贴都可以正常工作,这包括在需要时成功调用控制器。该网站也可以运行。我在 sitecore 日志或事件查看器中看不到任何错误/警告。

我正在努力使这项工作正常进行,以便可以对页面进行 a/b 测试。我知道这没什么好做的,但我希望您能指出正确的方向以成功解决此问题。

【问题讨论】:

  • 路径中应该有/api/ - sitecore/shell/api/ct/TestOutcomes。你能用 fiddler 确认你有这个吗?
  • 可能设置了另一条冲突的路线?
  • 为错字道歉。是的,我可以确认它在路径中有 /api/
  • 绝对没有设置其他可能发生冲突的路由。
  • 初始化或 HttpRequestBegin 管道中是否有任何自定义处理器?

标签: iis asp.net-web-api sitecore sitecore8


【解决方案1】:

所以问题是通过 xml 转换我删除了App_Config\Include\ContentTesting\Sitecore.ContentTesting.config 中的几个标签 使 sitecore 实例更快(仅在开发中)。

<initialize>
    <processor type="Sitecore.ContentTesting.Pipelines.Initialize.RegisterContentTestingCommandRoute, Sitecore.ContentTesting" patch:before="processor[@type='Sitecore.Mvc.Pipelines.Loader.InitializeRoutes, Sitecore.Mvc']" />
    <processor type="Sitecore.Pipelines.Initialize.PrecompileSpeakViews, Sitecore.Speak.Client" use="ContentTesting">
        <Paths>/sitecore/shell/client/Applications/ContentTesting</Paths>
    </processor>
</initialize> 

我没有注意到我不应该删除它,因为它注册了路由

<processor type="Sitecore.ContentTesting.Pipelines.Initialize.RegisterContentTestingCommandRoute, Sitecore.ContentTesting" patch:before="processor[@type='Sitecore.Mvc.Pipelines.Loader.InitializeRoutes, Sitecore.Mvc']" />

将其放回配置中后,一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 2018-09-17
    相关资源
    最近更新 更多