繁体   English   中英

在UmbracoVirtualNodeRouteHandler中找不到内容时如何返回Umbraco 404页面

[英]How to return Umbraco 404 page when no content found in UmbracoVirtualNodeRouteHandler

我正在使用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页面显示
“您正在寻找的资源已被删除,名称已更改或暂时不可用。” 默认IIS 404

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

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

您是否尝试使用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']
-->

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM