【发布时间】:2012-02-07 00:08:28
【问题描述】:
我正在使用一个名为 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 已经更改...
这样做的正确方法是什么?
提前致谢 阿尔
【问题讨论】:
标签: c# asp.net httpmodule episerver episerver-6-r2