我正在使用名为 EPiServer 的 CMS 产品。我们需要创建我们自己的显示 404 的方法,这是使用 .NET 的标准 customErrors 无法实现的。我们编写了一个模块,用于检查 HttpStatusCode
。我们在 EndRequest 方法中执行此操作。
如果状态为 404,我们向 EPiServer 查询适当的 404 页面,然后将请求转移到该页面。但是,这不会返回 404,即使我执行以下操作,也不会返回正确的状态:
HttpContext.Current.Response.StatusCode = 404;
HttpContext.Current.Response.StatusDescription = "Page not Found";
HttpContext.Current.Server.TransferRequest(newPage);
同样,如果我执行 response.redirect 而不是 TransferRequest
那么它不是正确的 404,因为 url 已经改变了...
这样做的正确方法是什么?
提前致谢 阿尔
最佳答案
不是您问题的直接答案,但也可以看看这个开源 404 处理程序:https://www.coderesort.com/p/epicode/wiki/404Handler
它也可以在 episervers nuget feed 上使用
关于c# - ASP.NET 404 http模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9158884/