重定向到自定义错误页面
ASP.NET Core 提供了状态代码页中间件 ,它支持几种不同的扩展方法,但我们对 UseStatusCodePages
和 UseStatusCodePagesWithRedirects
感兴趣:
-
UseStatusCodePages 添加一个 StatusCodePages 中间件,其中包含给定的选项,用于检查状态代码在 400 和 599 之间且没有正文的响应。用于重定向的示例:
app.UseStatusCodePages(async context => { //context.HttpContext.Response.StatusCode contains the status code // your redirect logic });
-
UseStatusCodePagesWithRedirects 将一个 StatusCodePages 中间件添加到管道。指定应通过使用给定位置 URL 模板重定向来处理响应。这可能包括状态代码的“{0}”占位符。以“〜”开头的网址将预先添加 PathBase,其中任何其他网址都将按原样使用。例如,以下将重定向到〜/ errors / <error_code>(例如〜/ errors / 403 表示 403 错误):
app.UseStatusCodePagesWithRedirects("~/errors/{0}");