IIS7.0設置404錯誤頁,返回500狀態碼


  一般在II6下,設置自定義404錯誤頁時,只需要在錯誤頁中選擇自定義的頁面,做自己的404頁面即可。但是在IIS7.0及以上時,設置完404錯誤頁后,會發現狀態碼返回的是500,並且可能會引起頁面亂碼。查找資料,發現好多資料寫的不夠詳細,不能完美解決問題。特將我的經驗分享一下,希望能幫助到大家。

  經過試驗,發現有兩種方案可用,各有利弊,我使用的是第二種方案。

  方案1:

  1. 在IIS中,找到對應站點,打開“功能視圖”-“IIS欄”-“錯誤頁”;

  2. 雙擊“404”,打開“編輯自定義錯誤頁”對話框;

  3. 選中“在此網站上執行URL”,輸入自定義404錯誤頁的URL(注意:此處URL是相對於網站根目錄的相對路徑,不能使用絕對路徑),點擊“確定”進行保存;

  

  4. 選中“404”,點擊右側欄中的“編輯功能設置”,打開“編輯自定義錯誤頁”對話框;

  5. 在“錯誤響應”框中,選中“自定義錯誤頁”,點擊“確定”進行保存;

  6. 重啟IIS。

  

  優缺點:此種方法優點是設置方便,不需要改動代碼,只需要修改參數即可;但缺點是按照此種方法設置之后,服務器404錯誤時,會直接將自定義頁面給返回給客戶端,因此狀態代碼會返回200,不利於搜索引擎SEO優化;

  方案2:

  1. 打開 C:\Windows\System32\inetsrv\config\ 路徑下的 applicationHost.config 文件(該文件是設置IIS參數的);

  2. 搜索找到“<httpErrors>” 選項,將該選項的 allowAbsolutePathsWhenDelegated設置為”true”;

  

  3. 在IIS中,找到對應站點,打開“功能視圖”-“IIS欄”-“錯誤頁”;

  4. 雙擊“404”,打開“編輯自定義錯誤頁”對話框;

  5. 選中“將靜態文件中的內容插入錯誤響應中”,選擇或輸入自定義404錯誤頁的絕對路徑(注意:此處路徑是使用絕對路徑,一定不能使用相對路徑,否則會找不到頁面),點擊“確定”進行保存;

  

  6. 選中“404”,點擊右側欄中的“編輯功能設置”,打開“編輯自定義錯誤頁”對話框;

  7. 在“錯誤響應”框中,選中“自定義錯誤頁”,點擊“確定”進行保存;

  8. 重啟IIS。

   優點:設置之后,返回的狀態代碼依舊是404,不影響搜索引擎SEO優化;

  注意:如果不設置1、2步驟,直接從第3步設置,設置完成之后,返回的狀態碼為500,且會顯示亂碼。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM