重定向到自定義錯誤頁面

ASP.NET Core 提供了狀態內碼表中介軟體 ,它支援幾種不同的擴充套件方法,但我們對 UseStatusCodePagesUseStatusCodePagesWithRedirects 感興趣:

  • 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}");