網(wǎng)站已經(jīng)設置了404模板頁面,但是返回的HTTP狀態(tài)碼卻是200,為什么會這樣???
可能你看到這里會覺得很奇怪,“設置了404頁面應該返回的HTTP狀態(tài)碼是404才對?。 笔瞧鸪跷乙策@么認為,但是不全對。
盡管對用戶返回了404頁面,但是對于搜索引擎而言卻是一個正常的頁面,這往往是由于錯誤的服務器端配置而導致返回200狀態(tài)碼,雖然對訪問的用戶而言,HTTP狀態(tài)碼是“404”還是“200”并沒有什么區(qū)別,一樣是提高了用戶體驗,但對搜索引擎而言,這則是相當重要的,甚至是致命的。
當搜索引擎蜘蛛在請求某個錯誤URL地址得到“404”狀態(tài)回應時,即知道該URL地址已經(jīng)失效,便不再索引該網(wǎng)頁,并向數(shù)據(jù)中心反饋將該URL地址表示的網(wǎng)頁從索引數(shù)據(jù)庫中刪除,而當搜索引擎對于這個404頁面得到的是“200”狀態(tài)回應時,則會認為該url地址是有效的,便會去索引,并會將其收錄到索引數(shù)據(jù)庫,這樣你的所有錯誤頁面對于搜索引擎來說都是不同url地址內(nèi)容相同的頁面,這會導致出現(xiàn)大量重復頁面,會大大降低網(wǎng)站質(zhì)量的評分,甚至直接降權。
所以正確設置的自定義404錯誤頁面,不僅應當能夠正確地顯示,同時,應該返回“404”錯誤代碼,而不是200或其他的。不僅要告訴用戶該頁面不存在,也要正確的讓搜索引擎知道這是404錯誤頁面而不是一個正常的頁面。
因為在IIS6/7里面有個錯誤頁面設置,其中404設置選項有兩個響應操作分別為:文件和URL。這兩個操作有什么區(qū)別呢?不同的設置會有什么不同效果?

1、當選擇響應操作為:在此網(wǎng)站執(zhí)行URL時。會造成設置了404頁面模板,表面看是對的,但實際上是錯誤的;因為訪問不存在的頁面返回的HTTP狀態(tài)碼仍然是200。
原因:因為操作執(zhí)行的是一個URL,IIS服務器只是讀取了另外一個存在的URL而已,因為這個URL存在,所以返回的狀態(tài)碼是200。
如果網(wǎng)站剛好出現(xiàn)了很多404頁面,但是這時候狀態(tài)碼不對,會給網(wǎng)站造成很大危害。

2、當選擇響應操作為:文件路徑(絕對路徑)。雖然HTTP狀態(tài)碼是404,但是會造成IIS服務器讀取404頁面模板失敗,也就是說讀取不到預設好的404模板頁面。


掃碼贊賞,鼓勵支持
相關問題
Centos 7.x 下做端口映射/端口轉(zhuǎn)發(fā)Windows server 2008/2012/2016/2019 服務器桌面不顯示我的電腦(計算機)的解決方案No input file specified的解決方法網(wǎng)站如何添加工信部網(wǎng)站備案號和鏈接代碼騰訊云對象存儲內(nèi)網(wǎng)與外網(wǎng)地址訪問Windows遠程桌面多個用戶如何同時使用Chrome谷歌瀏覽器?