在内容树中托管多个 404 页面的最佳 Kentico 方式
Best Kentico Way to Host Multiple 404 pages in the Content Tree
我正在寻找最好的(或非常好的)"Kentico way" 来完成内容树中的多个 404 未找到页面,每个页面用于内容树的不同区域。
例如,给定以下具有博客项目和合作伙伴资料的假设内容树结构,
% Root Master
|__ Home
|__ Blog ._ Blog Item A
|_ Blog Item B
|_ Blog Item C
|_ 404 Page for Blogs
|__ Policy
|__ Partners ._ Partner Profile A
|_ Partner Profile B
|_ Partner Profile C
|_ 404 Page for Partners
|_ Site 404 Page
我正在寻找以下行为:
- 如果用户访问不存在的博客项目 D,我希望显示博客的 404 页面。
- 同样,如果用户访问不存在的合作伙伴资料 D,我希望显示合作伙伴的 404 页面。
- 如果在站点中找不到任何其他页面,则应按正常方式通过 Kentico 设置显示站点 404 页面。
我对是否只使用 ASP.NET 配置犹豫不决,因为我想在 Kentico 内部维护解决方案,并且在添加新的 404 页面时不回收网站的应用程序池。
我的直接想法是创建一个自定义 Web 部件,我可以将其放入站点的全局 404 页面模板(每个 404 的默认位置)。此 Web 部件将使用错误路径(ala querystring 值 aspxerrorpath=)来查看未找到的路径,然后检查它是否包含单词 "blogs" 或 "partners" 并将浏览器重定向到相应的子 404 页面。或者,是否有更简单的方法——可能使用页面别名 and/or 宏——同时将解决方案保留在 Kentico 中?
我正在使用 Kentico 9 和 10。
我认为在 Kentico 内部没有处理此问题的好方法。最好的方法很可能是在主 web.config 中添加 <location>
元素并在其中设置这些路径和 404 页面。
另一个可能是通过您提到的 Web 部件来管理它。但我可能会更进一步,从中制作一个模块,这样您的 Web 部件就可以根据引用的 URL 或有问题的错误页面执行查找,并根据它匹配的查找值进行任何自定义显示或重定向.
我认为网站有多个 404 有点不自然。我认为你描述的是 Kentico 方式。在这个常见的 404 页面上,您可以删除多个静态 HTML web 部件并根据 ErrorPath 启用它们,如果 ErrorPath 的 none 匹配,则您有一个通用静态 HTML web 部件来处理常见情况。
P.S。从技术上讲,您可以在 IIS 中为每个文件夹设置特定的 web.config 并尝试使用它,但是 Kentico Tree 是纯虚拟的,因此您所描述的几乎是 Kentico 的方式。
我正在寻找最好的(或非常好的)"Kentico way" 来完成内容树中的多个 404 未找到页面,每个页面用于内容树的不同区域。
例如,给定以下具有博客项目和合作伙伴资料的假设内容树结构,
% Root Master
|__ Home
|__ Blog ._ Blog Item A
|_ Blog Item B
|_ Blog Item C
|_ 404 Page for Blogs
|__ Policy
|__ Partners ._ Partner Profile A
|_ Partner Profile B
|_ Partner Profile C
|_ 404 Page for Partners
|_ Site 404 Page
我正在寻找以下行为:
- 如果用户访问不存在的博客项目 D,我希望显示博客的 404 页面。
- 同样,如果用户访问不存在的合作伙伴资料 D,我希望显示合作伙伴的 404 页面。
- 如果在站点中找不到任何其他页面,则应按正常方式通过 Kentico 设置显示站点 404 页面。
我对是否只使用 ASP.NET 配置犹豫不决,因为我想在 Kentico 内部维护解决方案,并且在添加新的 404 页面时不回收网站的应用程序池。
我的直接想法是创建一个自定义 Web 部件,我可以将其放入站点的全局 404 页面模板(每个 404 的默认位置)。此 Web 部件将使用错误路径(ala querystring 值 aspxerrorpath=)来查看未找到的路径,然后检查它是否包含单词 "blogs" 或 "partners" 并将浏览器重定向到相应的子 404 页面。或者,是否有更简单的方法——可能使用页面别名 and/or 宏——同时将解决方案保留在 Kentico 中?
我正在使用 Kentico 9 和 10。
我认为在 Kentico 内部没有处理此问题的好方法。最好的方法很可能是在主 web.config 中添加 <location>
元素并在其中设置这些路径和 404 页面。
另一个可能是通过您提到的 Web 部件来管理它。但我可能会更进一步,从中制作一个模块,这样您的 Web 部件就可以根据引用的 URL 或有问题的错误页面执行查找,并根据它匹配的查找值进行任何自定义显示或重定向.
我认为网站有多个 404 有点不自然。我认为你描述的是 Kentico 方式。在这个常见的 404 页面上,您可以删除多个静态 HTML web 部件并根据 ErrorPath 启用它们,如果 ErrorPath 的 none 匹配,则您有一个通用静态 HTML web 部件来处理常见情况。 P.S。从技术上讲,您可以在 IIS 中为每个文件夹设置特定的 web.config 并尝试使用它,但是 Kentico Tree 是纯虚拟的,因此您所描述的几乎是 Kentico 的方式。