Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> 服務器404錯誤頁面http狀態返回值為200的原因解析

服務器404錯誤頁面http狀態返回值為200的原因解析

日期:2017/2/8 10:25:24      編輯:關於服務器

今天在網上找了很多關於404頁面的相關資料,目的就是為了吃透關於404的一些知識。

登陸google管理工具後台,發現網站未驗證,並提示:我們檢測到您的 404(找不到文件)錯誤頁在標頭中返回了 200 (成功) 狀態。(當出現這種問題時候 一定要注意了)

用google sitemaps驗證自己的網站的時候,如果用html文件驗證,始終遇到這樣的錯誤(我們檢測到您的 404(找不到文件)錯誤頁面在響應標頭中返回狀態代碼 200 (OK)),而無法完成驗證而只能用元標記來驗證。

這是主機404文件配置有問題,網友是這麼說的,但是本人在404錯誤頁上根據網站資料進行了設置,並在自定義404錯誤頁面設置完畢後,使用Server Header檢查工具,輸入一個不存在網頁的url,查看一下HTTP Header的返回情況,返回的不是“404 Not found”,還是200狀態碼。

不管在服務器的空間提供商的後台管理如何更改或刪除自定義404錯誤頁面設置,效果都一樣,http狀態返回值都是200,而不是“404 Not found”。後來集中生智,干脆把自己編寫的自定義404錯誤頁面刪除掉,而服務器的後台自定義404錯誤設置還是保留404錯誤頁的鏈接。用Server Header檢查工具,測試一下,竟然發現狀態碼返回的是404,而且是系統默認的404錯誤頁面。

網站資料如下(說明:前兩類網站空間服務器大部分不支持,只支持.html或htm):

(一)Apache下設置404錯誤頁面

為Apache Server設置 404錯誤頁面的方法很簡單,只需在.htaccess 文件中加入如下內容即可:ErrorDocument 404 /notfound.php

注意:

1.切記不要將404錯誤轉向到網站主頁,否則可能會導致主頁在搜索引擎中消失

2.切記不要使用絕對URL,如果使用絕對URL返回的狀態碼是“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”狀態碼

(三)在IIS/ASP.net下設置404靜態頁面

設置靜態404錯誤頁面的方法則比較簡單,在IIS管理器中右鍵單擊要管理的網站,打開“屬性”中的“自定義錯誤信息”頁,為“404”設定相應的錯誤信息頁即可。不過,此處在“消息類型”中一定要選擇“文件”或“默認值”,而不要選擇“URL”,不然,將導致返回“200”狀態碼。

Copyright © Windows教程網 All Rights Reserved