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