Sitecore-在多站点设置中,每个站点分别处理500个错误

Sitecore-在多站点设置中,每个站点分别处理500个错误,sitecore,sitecore6,Sitecore,Sitecore6,我们在多站点配置中运行Sitecore,目前每个站点都有自定义404页面 我们还希望为每个站点定制500页。我还没有在Sitecore中找到太多关于它是如何工作的(如果是这样的话),我希望社区能够深入了解如何在多站点Sitecore设置中设置自定义500页。目前,我们有一个500页的两个网站共享。这在开发中是很好的,但在生产中,我们不想暴露这些站点共享同一个框的事实。看看下面的例子。我想它会给你想要的 500错误是服务器错误,因此Sitecore无法处理它。它应该是一个通用的平面HTML文件,配

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


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

看看下面的例子。我想它会给你想要的

500错误是服务器错误,因此Sitecore无法处理它。它应该是一个通用的平面HTML文件,配置为IIS或web.config。据我所知,您可以做的是直接设置要执行的URL(.e.e.它转到您的常见自定义错误页面),在那里您可以决定要显示的特定于站点的错误详细信息

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

  • 打开IIS管理器
  • 转到“站点”部分中的站点
  • 单击IIS部分中的错误页面。

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

  • 现在选择执行URL选项并选择一个公共页面,比如/sitecore/MyErrorPage/500ErrorPage.aspx,然后在该特定页面中处理特定于站点的错误消息
  • 希望这有帮助

    问候,


    Varun Shringarpure

    您可以覆盖处理器“Sitecore.Pipelines.HttpRequest.ExecuteRequest,Sitecore.Kernel”来处理Sitecore错误,如未找到项、未找到布局等。请参阅此处的更多详细信息:


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

    。而正是重定向循环杀死了数据库服务器和任何依赖它的东西!但问题是(马克建议的是)在Sitecore之外处理这一问题意味着你提供的是一个通用的500页,这将无法满足能力,因为定制的500页,在上下文语言中,通常每个多站点都需要。第22条,如果能退一步就好了。如果需要,可以使用JS根据URL自定义错误页面。通用平面HTML如何响应500状态码?