【问题标题】:Sitecore - Handle 500 errors separately per site in multisite setupSitecore - 在多站点设置中每个站点分别处理 500 个错误
【发布时间】:2013-05-03 14:38:07
【问题描述】:

我们在多站点配置中运行 Sitecore,目前我们的每个站点都有自定义 404 页面。

我们还希望为每个网站定制 500 个页面。我在 Sitecore 中没有找到太多关于它是如何工作的(如果有的话),并希望社区对如何在多站点 Sitecore 设置中设置自定义 500 个页面有所了解。目前,我们有两个站点共享的一个 500 页。这在开发中很好,但在生产中我们不想暴露这些网站共享同一个盒子的事实。

【问题讨论】:

    标签: sitecore sitecore6


    【解决方案1】:

    据我所知,您可以直接设置要执行的 URL(即转到您的常见自定义错误页面),您可以在其中决定要显示的特定于站点的错误详细信息。

    考虑到您使用的是 IIS 7.0 或 7.5,请按照以下步骤操作:

    1. 打开 IIS 管理器
    2. 转到您的站点,在站点部分。
    3. 单击 IIS 部分中的错误页面。

    4. 接下来,您将转到 IIS 设置的错误页面。转到错误代码 500,选择它并单击操作窗格中的编辑。

    5. 现在选择执行 URL 选项并选择一个公共页面,例如 /sitecore/MyErrorPage/500ErrorPage.aspx,然后在该特定页面中处理特定于站点的错误消息。

    希望对您有所帮助!

    问候,

    Varun Shringarpure

    【讨论】:

      【解决方案2】:

      500 错误是服务器错误,因此 Sitecore 无法处理它。它应该是一个通用的平面 HTML 文件,配置为 IIS 或 web.config

      【讨论】:

      • 通用的平面 HTML 如何响应 500 状态码?
      【解决方案3】:

      您可以覆盖处理器“Sitecore.Pipelines.HttpRequest.ExecuteRequest, Sitecore.Kernel”来处理 Sitecore 错误,例如找不到项目、找不到布局等。在此处查看更多详细信息:http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/04/Handling-Errors-in-the-Sitecore-ASPNET-CMS.aspx

      但是在处理 500 错误时,您应该在 Sitecore 之外进行,想想如果您在 Sitecore 中提供 500 错误页面但 Sitecore 由于 sql 连接问题或超时而关闭,会发生什么情况?您的用户将结束我的重定向循环。

      【讨论】:

      • ..它的重定向循环会杀死数据库服务器和其他任何依赖它的东西!
      • 这个问题是这个(和 Mark 建议的)是在 Sitecore 之外处理这个意味着你提供一个通用的 500 页面,这将不满足自定制 500 页面以来的权力,在上下文中,每个多站点通常都需要语言。 Catch 22,能够回退会很好。如果需要,可以使用 JS 自定义基于 URL 的错误页面。
      【解决方案4】:

      看看Error Module on the marketplace。我想它会给你想要的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多