標籤:style class blog code http tar
轉自:http://blog.csdn.net/mycloudke/article/details/9746333
404狀態代碼:,意味著當在頁面上顯示使用者點擊不存在,提高使用者體驗度,搜尋引擎會放棄這個頁面索引。
302狀態代碼:搜尋引擎將繼續指數,這將導致大量不同的連結指向同一個頁面,它將影響搜尋引擎對網站的信任度。
http://www.cloudke.com.cn/ 後面隨便帶些參數或者不存在的檔案名稱,然後跳轉到自訂錯誤頁,但返回的狀態是302。
解決辦法:
第一步:
將web.config的customErrors設為off
[csharp] view plaincopy
- <customErrors mode="Off">
- </customErrors>
然後自己處理定製錯誤資訊,在Global.asax.cs中添加如下的代碼:
[csharp] view plaincopy
- protected void Application_Error(Object sender, EventArgs e)
- {
- if (!Request.IsLocal) //如果是在本地測試,則去掉!
- {
- Exception lastError = Server.GetLastError();
- if (lastError != null)
- {
- Response.StatusCode = 404;
- Response.WriteFile("~/Content/HtmlTemplate/NotFound.htm"); //輸出NotFound.htm頁面的內容。可以去掉所有的html標籤,直接輸入“報錯”
- Server.ClearError();
- }
- }
- }
~/Content/HtmlTemplate/NotFound.htm檔案只能為靜態檔案,這樣就不走asp.net的mvc路由器了。
這樣配製好後,發現還是有問題,本地訪問404可以轉到自訂頁,但遠端存取就不行了,還需要配製一下iis
開啟錯誤頁,編輯404頁
這個檔案路徑就是自訂錯誤頁404。
好了,再測試一下:
測試結果正常了。