Sitecore - 多站点错误页面处理

2024-03-21

我有一个多站点 Sitecore 项目。我知道如何通过 webconfig 的 ErrorPage、ItemNotFoundUrl、LayoutNotFoundUrl、LinkItemNotFoundUrl 处理一个站点的错误页面。

但是,我想为每个站点显示不同的错误页面。我怎样才能做到这一点?


在任何情况下,您都可以将每个站点的错误页面的 URL 存储为/configuration/sitecore/sites/siteweb.config 中的元素通过扩展Sitecore.Sites.SiteContext class (有关扩展现有类的信息,请参阅 参考资料 http://www.sitecore.net/en/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2010/11/Extend-Classes-Provided-by-the-Sitecore-ASPNET-CMS.aspx).

The SDN论坛帖子 http://sdn.sitecore.net/forum//ShowPost.aspx?PostID=30233404 专门提供更多信息/ItemNotFound条件,包括扩展的示例Sitecore.SItes.SiteContext.

For ItemNotFoundUrl,我认为这取决于你是使用一个项目还是一个文件作为404页面。如果你用items来处理404,那么在item解析器之后,添加一个处理器到httpRequestBegin如果上下文项为空,则将上下文项设置为该站点的 404 项的管道。如果您使用文件,那么我认为覆盖Sitecore.Pipelines.HttpRequest.ExecuteRequest.HandleItemNotFound() and Sitecore.Resources.Media.MediaRequestHandler.DoProcessRequest()并更新 web.config 文件中相应的引用。

For ErrorPage,我认为你必须重写Sitecore.Pipelines.RenderLayout.SecurityCheck.Process并更新 web.config 中相应的引用。

For LayoutNotFoundUrl,我认为你必须重写Sitecore.Pipelines.HttpRequest.ExecuteRequest.HandleLayoutNotFound,并更新web.config中相应的引用。

For LinkItemNotFoundUrl,我可能会向 renderField 管道添加一个处理器,以将设置的默认值替换为适用于上下文站点的值。

如果这是一个常见的需求,我们应该将其变成Sitecore共享源项目,或者将其添加到现有项目中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sitecore - 多站点错误页面处理 的相关文章

  • 如何在我的代码中找到 CoffeeScript 1.9.0 重大更改的情况?

    TL DR 是否有任何方法可以识别对 CoffeeScript 的新 1 9 0 行为的违规行为 foo参数命名 现在使用裸露的代码是非法的 并且不会导致警告 错误foo函数中的变量 在CoffeeScript 1 9 0版本中声明 更改了
  • Python 多处理和处理工人中的异常

    我使用 python 多处理库来实现一种算法 其中有许多工作人员处理某些数据并将结果返回给父进程 我使用 multiprocessing Queue 将作业传递给工作人员 然后收集结果 一切都运行得很好 直到工作人员无法处理某些数据块 在下
  • 如何使用 Solr Provider 控制 Sitecore ContentSearch 中嵌套查询的优先级?

    版本详情 我正在使用 Sitecore 7 5 build 141003 使用 Solr v4 7 作为搜索引擎 索引服务器 我还使用标准 Sitecore Solr 提供程序 没有自定义索引器 目标目标 我使用 Sitecore Cont
  • 从 C# 获取 Powershell 错误

    Problem 我正在从 c 调用 powershell 命令 但是PowerShell命令对象似乎只有属性bool HasErrors这对我没有帮助what我收到的错误 这就是我构建 powershell 命令的方式 Library pu
  • 有没有一种方法可以捕获异常而无需创建变量?

    在 PHP 中 我有时会使用 try catch 捕获一些异常 try catch Exception e Nothing this is a test that an exception is thrown 通过这种代码 我最终得到了变量
  • excel vba-重写循环中公式返回的错误(类型不匹配)

    我的工作表的 H 列中是一个 vlookup 公式 H 列中的某些行返回 n a 错误 我似乎无法让 VBA 检查 H 列中的错误并将其替换为字符串 这是我到目前为止所拥有的 For Each F In activeworkbook Wor
  • 如何使用加密的 DLQ 将重新驱动策略添加到 SNS

    我有一个 SNS 用 KMS 加密 由两个 lambda 订阅 我正在尝试向其中一项订阅添加重新驱动策略 相关 DLQ 已加密 添加重新驱动策略会出现错误 无法检查 Amazon SQS 队列权限 确保队列存在并且您的帐户有权读取队列的属性
  • 当 defer func 评估其参数时

    我正在学习 defer 在 golang 中的行为方式 并想用它来处理函数返回时的错误 代码如下 package main import fmt import errors func main a func a var err error
  • 执行错误日志记录的简单方法?

    我创建了一个小型 C winforms 应用程序 作为一项附加功能 我正在考虑向其中添加某种形式的错误日志记录 有人对解决这个问题有什么好的建议吗 这是我从未考虑过添加到以前的项目中的功能 因此我愿意接受有更多经验的开发人员的建议 我正在考
  • 由于 AndroidManifest.xml 问题,无法构建 APK

    For some reason whenever I load my project I immediately get the following error 我的代码中AndroidManifest xml
  • Sitecore Workbox,显示名称的项目字段?

    默认情况下 Sitecore 工作箱显示项目名称 我想显示 标题 字段 自定义字段 我怎样才能做到这一点 我有一个类似的要求 客户需要 Workbox 显示项目的 路径 而不是其名称 问题是他们的许多物品具有相同的名称 因此很难区分物品 不
  • 何时捕获 java.lang.Error?

    在什么情况下应该抓住java lang Error在申请上 一般来说 永远不会 但是 有时您需要捕获特定的错误 如果您正在编写类似框架的代码 加载第 3 方类 那么最好抓住LinkageError 未找到类定义 链接不满足 类更改不兼容 我
  • Jena tdb 中的事务发生错误?

    我正在尝试将属性写入模型 然后查询它 我的代码的这一部分 String directory EMAILADDRESS create the dataset for the tdb store Dataset ds TDBFactory cr
  • PHP - 停止显示错误中的完整路径

    有什么方法可以告诉 PHP 不显示错误 警告或通知消息中存在任何错误的文件的完整路径 我知道我可以禁用错误 但是 只是为了避免任何风险 例如 我的脚本返回一个错误 显示如下 Fatal error Call to undefined fun
  • 如何在 netsuite 中使用 suitescript 2.0 显示自定义错误消息而不使用堆栈跟踪

    我想使用 suitescript 2 0 版本向用户显示没有堆栈跟踪的自定义错误消息 在工作流程中 自定义错误消息在没有堆栈跟踪的情况下显示 但在套件脚本中 错误消息 与堆栈跟踪一起显示 堆栈跟踪错误 type error SuiteScr
  • NodeJS:MySQL 有时会引发 ETIMEDOUT 错误

    我目前正在使用 NodeJS 开发一个应用程序 然而 经常服务器抛出这个错误 我无法与mysql交互 Error read ETIMEDOUT code ETIMEDOUT errno ETIMEDOUT syscall read fata
  • 如何重定向到外部404页面Python Flask

    我正在尝试将 404 重定向到外部 URL 如下所示 app route 404 def http error handler error return flask redirect http www exemple com 404 404
  • 继承模板的排序顺序

    使用 Sitecore 6 6 我们正在构建一些继承许多基本模板的模板 这对于重用和标准化我们的代码非常有用 因为所有字段都存储在常量文件中以便于引用 然而 我们似乎无法定义这些继承模板的显示顺序 无论如何 模板似乎都遵循它们添加的原始顺序
  • 将 PHP 错误处理程序限制为特定命名空间

    PHP 有没有办法只为特定的命名空间设置错误处理程序 我正在构建一个小型框架 我希望能够通过设置自定义错误处理程序并抛出异常来尝试捕获其名称空间内的所有错误 警告 通知消息 在此特定名称空间之外触发的错误应该以常规方式表现 用PHP可以完成
  • 如何抑制 C# 中方法调用的错误?

    我正在寻找一种 优雅 的方法来在调用方法时抑制异常 我认为下面的代码太冗长了 try CallToMethodThatMayFail 3 catch 是否有一些语法糖我可以用来说 我真的不在乎这个方法是否失败 我想调用该方法并继续执行 无论

随机推荐

  • 源文件夹不在Java构建类路径上,正在创建Java包

    我试图在排序下创建一个包合并 但它说 源文件夹不在 Java 构建类路径上 So I right click on sort folder and try to add it to the Java build class path But
  • MSN 是 OpenID 提供商吗?

    MSN 是 OpenID 提供商吗 如果是这样 您知道 URL 是什么样的吗 我正在尝试将 MSN 添加到具有用于登录网站的特殊按钮的提供商列表中 Microsoft 有一个附加到 Windows Live ID 的 OpenID 服务目前
  • Firebase 中 IN 关键字的替代是什么?

    我在 Firebase 中的节点为 users uid phone name 我正在寻找IN执行这里 我想检查我的数据库中存在电话号码列表中的哪些条目 然后获取这些条目 在 SQL 数据库中 等效查询可能是 select phone fro
  • 为什么Webpack的DefinePlugin要求我们将所有内容都包装在JSON.stringify中?

    new webpack DefinePlugin PRODUCTION JSON stringify true VERSION JSON stringify 5fa3b9 BROWSER SUPPORTS HTML5 true TWO 1
  • 在 Hive HQL 中将字符串转换为时间戳

    我有一个像 08 03 2018 02 00 00 这样的字符串 我试图将其转换为时间戳值 我正在使用下面的代码 unix timestamp 08 03 2018 02 00 00 yyyy MM dd T HH mm ss SSSXXX
  • 仅更改所选选项的颜色

    我有一个选择器位于表格单元格中 表格行有颜色 因此使用 CSS 我可以将下拉菜单的背景更改为相同的颜色background color inherit 但是 它会更改所有选项的整个框的颜色 是否可以仅更改所选选项的颜色 如果不使用 CSS
  • Elasticsearch 范围查询和范围过滤的区别

    我想查询某个日期范围内的elasticsearch文档 我现在有两个选择 两个都适合我 两个都测试过 1 范围查询 2 范围过滤器 由于我现在的数据集很小 因此我无法测试它们的性能 这两者有什么区别 哪一种会导致更快的文档检索和更快的响应
  • OpenCv:查找多个匹配项

    我有以下内容 但我不知道如何找到源图像中的所有匹配项 static void Main using var template Cv LoadImage images logo png LoadMode GrayScale using var
  • 如何通过Intent接收int

    我通过 Intent 传递一个 int 但我不知道如何接收它 因为我必须从 OnCreate 方法接收一个 Intent 但如果我将它放在那里 我无法将它与代码其余部分中的另一个 int 进行比较 我在这里发送意图 public class
  • NUnit 与 Debug.Assert 冲突

    我正在使用 NUnit 为我的同事编写的库编写单元测试 他的库包含大量在无效输入时触发的 Debug Asserts 当我编写单元测试并向他的库提供无效输入时 他的 Debug Assert 会弹出一个消息框 抱怨输入错误 我觉得他的库对无
  • 从线程返回值

    在 Python 中 如何让线程将元组或我选择的任何值返回给父级 我建议你实例化一个队列 队列 http docs python org library queue html highlight queue Queue Queue在启动线程
  • Android JUnit4 测试

    我想运行一些 JUnit4 测试 该代码依赖于一些Android库 Android XML解析器 但不创建任何activites等 当我尝试运行测试时 我发现找不到我需要的 Android 类 有没有办法使用 Android 代码运行 JU
  • Makefile 在目标体中设置全局变量

    我想通过一个配方设置一个全局变量 然后在另一个配方中引用该变量独立的 recipe 下面的代码是在配方内设置变量的示例代码 但如果在配方外部引用 则变量将保持初始值 ACTIVE a switch ifeq ACTIVE b ACTIVE
  • 使用 NLTK 解析 CoNLL-U 文件

    我知道有CoNLL U https universaldependencies org docs format htmlPython 中的解析器 我只是想得到确认NLTK没有解析 CoNLL U 或具有依赖语法的其他 CoNLL 格式 的本
  • Slack 的 Azure DevOps 扩展是否会受到更改 Azure DevOps URL 的影响?

    在公司 我们将 Azure Devops 工作区的 URL 从https oldname visualstudio com to https dev azure com newname 我们使用两种方法与 Azure DevOps 中的 S
  • 单核上的多线程有什么意义?

    我最近一直在研究 Linux 内核 并回顾了大学操作系统课程的时代 就像那时一样 我正在玩线程之类的东西 一直以来我一直假设线程是自动在多个核心上同时运行但我最近发现您实际上必须显式编写代码来处理多个核心 那么单核上的多线程有什么意义呢 我
  • Spring Cloud 2020.0 不再处理 bootstrap.yml 配置

    In my Spring Boot 项目 https github com pavankjadda HashiCorpVault SpringCloud 我定义了4个配置文件 demo dev test prod 在启动过程中 YAML 文
  • Web服务/API来抓取另一个网站的屏幕截图? (已知的解决方案太慢)[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 选择另一个相关列的总计为 0 的列

    我有一张桌子叫xDays设置如下 Project Name Date Hours proj1 2010 03 03 00 00 00 000 0 proj1 2010 03 04 00 00 00 000 0 proj1 2010 03 0
  • Sitecore - 多站点错误页面处理

    我有一个多站点 Sitecore 项目 我知道如何通过 webconfig 的 ErrorPage ItemNotFoundUrl LayoutNotFoundUrl LinkItemNotFoundUrl 处理一个站点的错误页面 但是 我