簡體   English   中英

為什么我的 404 重定向在我的 web.config 中不起作用?

[英]Why does my 404 redirect not work in my web.config?

在我的應用程序中,當用戶嘗試將 go 轉到不存在的頁面時,我有一個自定義錯誤來捕獲所有意外錯誤和 404。 問題是,在生產中,我可以通過在瀏覽器 window 中鍵入 url 的路徑或通過濫用應用程序成功導航到錯誤頁面,但我不能對 404 執行相同操作。這是我的設置。 在此處輸入圖像描述

Error/NotFound將代替~/Error/NotFound起作用,並且應該啟用自定義錯誤(取決於您從哪里發出請求):

<customErrors mode="On" defaultRedirect="Error">
    <error statusCode="404" redirect="Error/NotFound" />
</customErrors>

並設置httpErrors

<system.webServer>
    <httpErrors errorMode="Custom" existingResponse="PassThrough">
        <clear />
        <error statusCode="404" responseMode="ExecuteURL" path="/Error/NotFound" />
    </httpErrors>
</system.webServer>

請注意clear將刪除 static 文件的所有錯誤。 所以考慮解鎖一組defaultPathhttpErrors

如果您嘗試重定向到自定義錯誤文件,可能包括 errorMode 作為“自定義”和 responseMode 作為“文件”,如下所示。

<httpErrors errorMode="Custom">
      <remove statusCode="404"/>
      <error statusCode="404" path="FileNotFound.html" responseMode="File"/>
  </httpErrors>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM