【问题标题】:How to return Umbraco 404 page when no content found in UmbracoVirtualNodeRouteHandler在 UmbracoVirtualNodeRouteHandler 中找不到内容时如何返回 Umbraco 404 页面
【发布时间】:2018-09-17 14:51:03
【问题描述】:

我正在使用UmbracoVirtualNodeRouteHandler 来使用一些自定义逻辑来查找我的 Umbraco 内容。这很好用,除非我找不到内容。 当我没有找到内容时,我想显示 Umbraco 404 页面

protected override IPublishedContent FindContent(RequestContext requestContext, UmbracoContext umbracoContext)
    {
        var content = findMyContent();
        //attempt 1
        return content; //even if content is null
        //end attempt 1

        //attempt 2
        if(content == null)
        {
            throw new HttpException(404, "Blogpost not found");
        }

        return content;
        //end attempt 2
    }

尝试 1 会导致默认的无样式 404 页面显示
“您要查找的资源已被删除、更改名称或暂时不可用。”

尝试 2 导致显示我的自定义错误 500 页面。

找不到内容时如何显示我的自定义 Umbraco 404 页面?

【问题讨论】:

    标签: c# asp.net asp.net-mvc umbraco umbraco7


    【解决方案1】:

    您是否尝试使用umbracoSettings.config中的配置?

    您可以通过引用节点 ID、GUID 或 XPATH 来为 404 页面配置自定义节点:

    <errors>
        <error404>1234</error404>  
    </errors>
    <!--
    The value for error pages can be:
    * A content item's integer ID   (example: 1234)
    * A content item's GUID ID      (example: 26C1D84F-C900-4D53-B167-E25CC489DAC8)
    * An XPath statement            (example: //errorPages[@nodeName='My cool error']
    -->
    

    【讨论】:

    • 是的,404 页面已经建立并在正常情况下工作,只是不使用 UmbracoVirtualNodeRouteHandler
    • 我认为你不应该在 UmbracoVirtualNodeRouteHandler 中处理 404。我理解这一点的方式是 Umbraco 自动处理 404。如果要编写自己的 404 处理程序,可以创建 IContentFinder 并将其设置为 ContentLastChanceFinder。 umbraco 文档中有详细说明:our.umbraco.com/Documentation/Reference/Routing/…
    • 感谢您的反馈。 Umbraco Slack 上的社区成员正在指导我朝同一个方向发展。就个人而言,我认为如果我返回 null,它应该转到我设置的 Umbraco 404 页面,而不是 IIS 404。我会将 UmbracoVirtualNodeRouteHandler 重写为 ContentFinder 以解决此问题。
    • 您是否尝试在 web.config 中插入 。参考:our.umbraco.com/forum/using/ui-questions/8244-IIS7-404
    猜你喜欢
    • 2021-06-09
    • 1970-01-01
    • 2013-08-28
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    • 2011-04-06
    • 2020-10-28
    相关资源
    最近更新 更多