我使用名为 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 而不是 aTransferRequest
那么它不是正确的 404,因为 url 已经改变了......
这样做的正确方法是什么?
提前感谢艾尔