服務器404錯誤頁面http狀態(tài)返回值為200的原因解析
今天在網上找了很多關于404頁面的相關資料,目的就是為了吃透關于404的一些知識。
登陸google管理工具后臺,發(fā)現網站未驗證,并提示:我們檢測到您的 404(找不到文件)錯誤頁在標頭中返回了 200 (成功) 狀態(tài)。(當出現這種問題時候 一定要注意了)
用google sitemaps驗證自己的網站的時候,如果用html文件驗證,始終遇到這樣的錯誤(我們檢測到您的 404(找不到文件)錯誤頁面在響應標頭中返回狀態(tài)代碼 200 (OK)),而無法完成驗證而只能用元標記來驗證。
這是主機404文件配置有問題,網友是這么說的,但是本人在404錯誤頁上根據網站資料進行了設置,并在自定義404錯誤頁面設置完畢后,使用Server Header檢查工具,輸入一個不存在網頁的url,查看一下HTTP Header的返回情況,返回的不是“404 Not found”,還是200狀態(tài)碼。
不管在服務器的空間提供商的后臺管理如何更改或刪除自定義404錯誤頁面設置,效果都一樣,http狀態(tài)返回值都是200,而不是“404 Not found”。后來集中生智,干脆把自己編寫的自定義404錯誤頁面刪除掉,而服務器的后臺自定義404錯誤設置還是保留404錯誤頁的鏈接。用Server Header檢查工具,測試一下,竟然發(fā)現狀態(tài)碼返回的是404,而且是系統默認的404錯誤頁面。
網站資料如下(說明:前兩類網站空間服務器大部分不支持,只支持.html或htm):
(一)Apache下設置404錯誤頁面
為Apache Server設置 404錯誤頁面的方法很簡單,只需在.htaccess 文件中加入如下內容即可:ErrorDocument 404 /notfound.php
注意:
1.切記不要將404錯誤轉向到網站主頁,否則可能會導致主頁在搜索引擎中消失
2.切記不要使用絕對URL,如果使用絕對URL返回的狀態(tài)碼是“302”+“200”(已測試)
(二)IIS/ASP.net下設置404錯誤頁面
首先,修改應用程序根目錄的設置,打開 “web.config” 文件編輯,在其中加入如下內容:
<configuration>
<system.web>
<customErrors mode="On" defaultRedirect="error.asp">
<error statusCode="404" redirect="notfound.asp" />
</customErrors>
</system.web>
</configuration>
注:上文例中“error.asp”為系統默認的404頁面,“notfound.asp”為自定義的404頁面,使用時請修改相應文件名。
然后,在自定義的404頁面“notfound.asp”中加入:
<%
Response.Status = “404 Not Found”
%>
這樣,便可以保證IIS能夠正確地返回“404”狀態(tài)碼
(三)在IIS/ASP.net下設置404靜態(tài)頁面
設置靜態(tài)404錯誤頁面的方法則比較簡單,在IIS管理器中右鍵單擊要管理的網站,打開“屬性”中的“自定義錯誤信息”頁,為“404”設定相應的錯誤信息頁即可。不過,此處在“消息類型”中一定要選擇“文件”或“默認值”,而不要選擇“URL”,不然,將導致返回“200”狀態(tài)碼。
關鍵詞:服務器404錯誤頁面,http狀態(tài)返回值為200的原因解析
閱讀本文后您有什么感想? 已有 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0