我們有些在一些網站上瀏覽網頁時,有的時候當頁面不存在的時候,大家都知道會報404,有的404就設置的很新穎,讓人眼前一亮,今天就聊聊關于C#的自定義404,希望可以幫助到你。
在這里我給出了兩種方案,經過試驗,發現有兩種方案可用,各有利弊,我使用的是第二種方案。
方案1:
在IIS中,找到對應站點,打開“功能視圖”-“IIS欄”-“錯誤頁”;
雙擊“404”,打開“編輯自定義錯誤頁”對話框;
選中“在此網站上執行URL”,輸入自定義404錯誤頁的URL(注意:此處URL是相對于網站根目錄的相對路徑,不能使用絕對路徑),點擊“確定”進行保存;
選中“404”,點擊右側欄中的“編輯功能設置”,打開“編輯自定義錯誤頁”對話框;
在“錯誤響應”框中,選中“自定義錯誤頁”,點擊“確定”進行保存;
重啟IIS。
優缺點:此種方法優點是設置方便,不需要改動代碼,只需要修改參數即可;但缺點是按照此種方法設置之后,服務器404錯誤時,會直接將自定義頁面給返回給客戶端,因此狀態代碼會返回200,不利于搜索引擎SEO優化;
方案2:
打開 C:WindowsSystem32inetsrvconfig 路徑下的 applicationHost.config 文件(該文件是設置IIS參數的);
搜索找到“” 選項,將該選項的 allowAbsolutePathsWhenDelegated設置為”true”;
在IIS中,找到對應站點,打開“功能視圖”-“IIS欄”-“錯誤頁”;
雙擊“404”,打開“編輯自定義錯誤頁”對話框;
選中“將靜態文件中的內容插入錯誤響應中”,選擇或輸入自定義404錯誤頁的絕對路徑(注意:此處路徑是使用絕對路徑,一定不能使用相對路徑,否則會找不到頁面),點擊“確定”進行保存;
選中“404”,點擊右側欄中的“編輯功能設置”,打開“編輯自定義錯誤頁”對話框;
在“錯誤響應”框中,選中“自定義錯誤頁”,點擊“確定”進行保存;
重啟IIS。
優點:設置之后,返回的狀態代碼依舊是404,不影響搜索引擎SEO優化;
兩種方法不能說哪個好,只不過是要看在不同的情況下了,有句話說的很不錯,細節決定成敗,如果你真的用心的話,相信一定會脫穎而出的。