網(wǎng)站設(shè)計(jì)中如何詳細(xì)的自定義404錯(cuò)誤頁(yè)面的制作和設(shè)置
發(fā)布時(shí)間:2014-01-12 21:48:03 作者:佚名
我要評(píng)論

相信網(wǎng)上有很多關(guān)于404頁(yè)面的制作帖子了,這里我要總結(jié)的是根據(jù)自己這一次網(wǎng)站被降權(quán)而總結(jié)的404自定義錯(cuò)誤頁(yè)面的制作,絕對(duì)超級(jí)詳細(xì)
一、什么是自定義404錯(cuò)誤頁(yè)面?
404自定義錯(cuò)誤頁(yè)面就是當(dāng)用戶輸入了錯(cuò)誤的url地址或者輸入了一個(gè)不存在的url地址時(shí),所返回的一個(gè)頁(yè)面,它的目的是:告訴瀏覽者其所請(qǐng)求的頁(yè)面不存在或鏈接錯(cuò)誤,同時(shí)引導(dǎo)用戶使用網(wǎng)站其他頁(yè)面而不是關(guān)閉窗口網(wǎng)站離開(kāi)。
二、404自定義錯(cuò)誤頁(yè)面是如何形成的?
HTTP 404 錯(cuò)誤意味著鏈接指向的網(wǎng)頁(yè)不存在,即原始網(wǎng)頁(yè)的URL失效,這種情況經(jīng)常會(huì)發(fā)生,很難避免,比如說(shuō):網(wǎng)頁(yè)URL生成規(guī)則改變、網(wǎng)頁(yè)文件更名或移動(dòng)位置、導(dǎo)入鏈接拼寫(xiě)錯(cuò)誤等,導(dǎo)致原來(lái)的URL地址無(wú)法訪問(wèn);當(dāng)Web 服務(wù)器接到類(lèi)似請(qǐng)求時(shí),會(huì)返回一個(gè)404 狀態(tài)碼,告訴瀏覽器要請(qǐng)求的資源并不存在。但是,Web服務(wù)器默認(rèn)的404錯(cuò)誤頁(yè)面,無(wú)論Apache服務(wù)器還是IIS服務(wù)器,均十分簡(jiǎn)陋、呆板且對(duì)用戶不友好,無(wú)法給用戶提供必要的信息以獲取更多線索,無(wú)疑這會(huì)造成用戶的流失。
因此,很多網(wǎng)站均使用自定義404錯(cuò)誤的方式以提供用戶體驗(yàn)避免用戶流失。一般而言,自定義404頁(yè)面通用的做法是在頁(yè)面中放置網(wǎng)站快速導(dǎo)航鏈接、搜索框以及網(wǎng)站提供的特色服務(wù),這樣可以有效的幫助用戶訪問(wèn)站點(diǎn)并獲取需要的信息。
三、404自定義錯(cuò)誤頁(yè)面對(duì)seo的影響
自定義404錯(cuò)誤頁(yè)面是增強(qiáng)用戶體驗(yàn)的很好的做法,但在應(yīng)用過(guò)程中,網(wǎng)站制作者往往并未注意到對(duì)搜索引擎的影響,譬如:錯(cuò)誤的服務(wù)器端配置導(dǎo)致返回“200”狀態(tài)碼或自定義404錯(cuò)誤頁(yè)面使用Meta Refresh屬性導(dǎo)致返回“302”狀態(tài)碼。正確設(shè)置的自定義404錯(cuò)誤頁(yè)面,不僅應(yīng)當(dāng)能夠正確地顯示,同時(shí),應(yīng)該返回“404”錯(cuò)誤代碼,而不是 “200”或“302”。雖然對(duì)訪問(wèn)的用戶而言,HTTP狀態(tài)碼究竟是“404”還是“200”來(lái)說(shuō)并沒(méi)有什么區(qū)別,但對(duì)搜索引擎這則是相當(dāng)重要的。
所以要確保404頁(yè)面返回的是404代碼而不是200和302.在自定義404錯(cuò)誤頁(yè)面設(shè)置完畢后,一定要檢查一下其是不是能夠正確地返回“404”狀態(tài)碼??梢允褂肧erver Header檢查工具(http://www.seochat.com/seo-tools/redirect-check/),輸入一個(gè)不存在網(wǎng)頁(yè)的url,查看一下HTTP Header的返回情況,確信其返回的是“404 Not found”。
四、定制404錯(cuò)誤頁(yè)面的基本原則
首先應(yīng)明確的是,404錯(cuò)誤頁(yè)面應(yīng)工作在服務(wù)器級(jí)而不是網(wǎng)頁(yè)級(jí)。對(duì)定制使用動(dòng)態(tài)頁(yè)面如PHP腳本類(lèi)型的404頁(yè)(如:404.php、404.asp、404.aspx等)時(shí),必須確保在PHP執(zhí)行前服務(wù)器已經(jīng)順利地送出“404”狀態(tài)碼,不然,一旦執(zhí)行到了ISAPI(一般運(yùn)行在windows服務(wù)器上的偽靜態(tài)腳本服務(wù)技術(shù))級(jí)別,返回的狀態(tài)碼便只能是“200”或其他如“302”之類(lèi)的重定向狀態(tài)碼了。對(duì)于大部分使用了windows虛擬主機(jī),同時(shí)又支持PHP程序運(yùn)行的服務(wù)器,一般都使用了ISAPI技術(shù),他們可以提供兩種自定義技術(shù),一種靜態(tài)404.htm頁(yè)面, 這種頁(yè)面一般不直接放在網(wǎng)站的根目錄之下,而是放在一個(gè)“HttpError”這個(gè)文件夾之下,但是返回的狀態(tài)碼是“200”,另一種是動(dòng)態(tài)404頁(yè)(如:404.php)等的設(shè)置,這種設(shè)置,就是在網(wǎng)站的根目錄之下放一個(gè)404.php之類(lèi)的動(dòng)態(tài)頁(yè)面,這樣會(huì)返回狀態(tài)碼“404”,所以網(wǎng)站的制作者,在虛擬主機(jī)的后臺(tái)設(shè)置時(shí),必須看清楚自己的設(shè)置,如何要做網(wǎng)站的SEO優(yōu)化,那么就要設(shè)置成能返回“404”狀態(tài)碼的那種,否則就會(huì)吃大虧.
其次,在自定義網(wǎng)站的404錯(cuò)誤頁(yè)面時(shí),對(duì)設(shè)置的錯(cuò)誤頁(yè)面URL鏈接應(yīng)使用相對(duì)路徑而不是絕對(duì)路徑,而且自定義404頁(yè)面應(yīng)該放在網(wǎng)站根目錄下。盡管無(wú)效鏈接可能是多種形式的URL,但當(dāng)發(fā)生404訪問(wèn)錯(cuò)誤時(shí),WEB服務(wù)器會(huì)自動(dòng)將其轉(zhuǎn)到自定義的當(dāng)404錯(cuò)誤頁(yè)中,這跟URL的形似沒(méi)有關(guān)系。
五、404錯(cuò)誤頁(yè)面的設(shè)置方法
1、Apache服務(wù)器下設(shè)置404錯(cuò)誤頁(yè)面
為Apache Server設(shè)置 404錯(cuò)誤頁(yè)面的方法很簡(jiǎn)單,首先制作一個(gè)名為404.html/404.htm/404.php/404.asp/404.aspx的頁(yè)面,視空間要求而定,再在.htaccess 文件中加入如下內(nèi)容即可(.htaccess文件一般linux空間會(huì)自帶的,如果沒(méi)有這個(gè)文件,自己可以用記事本寫(xiě)一個(gè),命名為.htaccess,一定要記得去掉記事本文件的.txt哦。而windows虛擬空間是沒(méi)有這個(gè)文件的,也不用上傳這個(gè)文件):
# 404 page
ErrorDocument 404 /notfound.php
(“notfound”是你給你的自定義錯(cuò)誤頁(yè)面的命名,你也可以改成Error.php等等)
注意:
(1).切記不要將404錯(cuò)誤跳轉(zhuǎn)到網(wǎng)站主頁(yè),比如使用了js腳本或者meta refresh跳轉(zhuǎn)技術(shù)。否則可能會(huì)導(dǎo)致主頁(yè)在搜索引擎中消失或者不被收錄.
(2).切記不要使用絕對(duì)URL如果使用絕對(duì)URL返回的狀態(tài)碼是“302”+“200”
2、IIS/ASP.net下設(shè)置404錯(cuò)誤頁(yè)面
靜態(tài)404錯(cuò)誤頁(yè)面設(shè)置
(1)做個(gè)404頁(yè)面,404.html或者404.htm,根據(jù)你的網(wǎng)站實(shí)際情況來(lái)。
(2)服務(wù)器/虛擬主機(jī)管理設(shè)置,根據(jù)自己的情況,選擇“使用根目錄下的404頁(yè)面”,如果自己能找到“消息類(lèi)型”選項(xiàng),則要選擇“文件”或者“默認(rèn)值”,而不能選擇“URL”。如果自己在主機(jī)提供商網(wǎng)站的管理后臺(tái)找不到此“消息類(lèi)型”選項(xiàng)請(qǐng)聯(lián)系技術(shù)客服做出修改。這是具有決定性的一步。 這步一定要操作好,如果在后臺(tái)找不到這個(gè)消息類(lèi)型,就不要自己設(shè)置,因?yàn)槟阍O(shè)置之后肯定返回值是200,所以事先和客服聯(lián)系下。
(3)上傳404.htm到網(wǎng)站根目錄,打開(kāi)一次試試,看是否成功了。
動(dòng)態(tài)404錯(cuò)誤頁(yè)面設(shè)置
首先,修改應(yīng)用程序根目錄的設(shè)置,打開(kāi) “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)默認(rèn)的404頁(yè)面,“notfound.asp”為自定義的404頁(yè)面,使用時(shí)請(qǐng)修改相應(yīng)文件名。
然后,在自定義的404頁(yè)面“notfound.asp”中加入:
<%
Response.Status = “404 Not Found”
%>
這樣,便可以保證IIS能夠正確地返回“404”狀態(tài)碼。
所有的設(shè)置完成之后,別忘記檢測(cè)http狀態(tài),確定返回的是404,而不是200。http狀態(tài)檢測(cè)地址參考:Server Header檢查工具(http://www.seochat.com/seo-tools/redirect-check/)
404自定義錯(cuò)誤頁(yè)面就是當(dāng)用戶輸入了錯(cuò)誤的url地址或者輸入了一個(gè)不存在的url地址時(shí),所返回的一個(gè)頁(yè)面,它的目的是:告訴瀏覽者其所請(qǐng)求的頁(yè)面不存在或鏈接錯(cuò)誤,同時(shí)引導(dǎo)用戶使用網(wǎng)站其他頁(yè)面而不是關(guān)閉窗口網(wǎng)站離開(kāi)。
二、404自定義錯(cuò)誤頁(yè)面是如何形成的?
HTTP 404 錯(cuò)誤意味著鏈接指向的網(wǎng)頁(yè)不存在,即原始網(wǎng)頁(yè)的URL失效,這種情況經(jīng)常會(huì)發(fā)生,很難避免,比如說(shuō):網(wǎng)頁(yè)URL生成規(guī)則改變、網(wǎng)頁(yè)文件更名或移動(dòng)位置、導(dǎo)入鏈接拼寫(xiě)錯(cuò)誤等,導(dǎo)致原來(lái)的URL地址無(wú)法訪問(wèn);當(dāng)Web 服務(wù)器接到類(lèi)似請(qǐng)求時(shí),會(huì)返回一個(gè)404 狀態(tài)碼,告訴瀏覽器要請(qǐng)求的資源并不存在。但是,Web服務(wù)器默認(rèn)的404錯(cuò)誤頁(yè)面,無(wú)論Apache服務(wù)器還是IIS服務(wù)器,均十分簡(jiǎn)陋、呆板且對(duì)用戶不友好,無(wú)法給用戶提供必要的信息以獲取更多線索,無(wú)疑這會(huì)造成用戶的流失。
因此,很多網(wǎng)站均使用自定義404錯(cuò)誤的方式以提供用戶體驗(yàn)避免用戶流失。一般而言,自定義404頁(yè)面通用的做法是在頁(yè)面中放置網(wǎng)站快速導(dǎo)航鏈接、搜索框以及網(wǎng)站提供的特色服務(wù),這樣可以有效的幫助用戶訪問(wèn)站點(diǎn)并獲取需要的信息。
三、404自定義錯(cuò)誤頁(yè)面對(duì)seo的影響
自定義404錯(cuò)誤頁(yè)面是增強(qiáng)用戶體驗(yàn)的很好的做法,但在應(yīng)用過(guò)程中,網(wǎng)站制作者往往并未注意到對(duì)搜索引擎的影響,譬如:錯(cuò)誤的服務(wù)器端配置導(dǎo)致返回“200”狀態(tài)碼或自定義404錯(cuò)誤頁(yè)面使用Meta Refresh屬性導(dǎo)致返回“302”狀態(tài)碼。正確設(shè)置的自定義404錯(cuò)誤頁(yè)面,不僅應(yīng)當(dāng)能夠正確地顯示,同時(shí),應(yīng)該返回“404”錯(cuò)誤代碼,而不是 “200”或“302”。雖然對(duì)訪問(wèn)的用戶而言,HTTP狀態(tài)碼究竟是“404”還是“200”來(lái)說(shuō)并沒(méi)有什么區(qū)別,但對(duì)搜索引擎這則是相當(dāng)重要的。
所以要確保404頁(yè)面返回的是404代碼而不是200和302.在自定義404錯(cuò)誤頁(yè)面設(shè)置完畢后,一定要檢查一下其是不是能夠正確地返回“404”狀態(tài)碼??梢允褂肧erver Header檢查工具(http://www.seochat.com/seo-tools/redirect-check/),輸入一個(gè)不存在網(wǎng)頁(yè)的url,查看一下HTTP Header的返回情況,確信其返回的是“404 Not found”。
四、定制404錯(cuò)誤頁(yè)面的基本原則
首先應(yīng)明確的是,404錯(cuò)誤頁(yè)面應(yīng)工作在服務(wù)器級(jí)而不是網(wǎng)頁(yè)級(jí)。對(duì)定制使用動(dòng)態(tài)頁(yè)面如PHP腳本類(lèi)型的404頁(yè)(如:404.php、404.asp、404.aspx等)時(shí),必須確保在PHP執(zhí)行前服務(wù)器已經(jīng)順利地送出“404”狀態(tài)碼,不然,一旦執(zhí)行到了ISAPI(一般運(yùn)行在windows服務(wù)器上的偽靜態(tài)腳本服務(wù)技術(shù))級(jí)別,返回的狀態(tài)碼便只能是“200”或其他如“302”之類(lèi)的重定向狀態(tài)碼了。對(duì)于大部分使用了windows虛擬主機(jī),同時(shí)又支持PHP程序運(yùn)行的服務(wù)器,一般都使用了ISAPI技術(shù),他們可以提供兩種自定義技術(shù),一種靜態(tài)404.htm頁(yè)面, 這種頁(yè)面一般不直接放在網(wǎng)站的根目錄之下,而是放在一個(gè)“HttpError”這個(gè)文件夾之下,但是返回的狀態(tài)碼是“200”,另一種是動(dòng)態(tài)404頁(yè)(如:404.php)等的設(shè)置,這種設(shè)置,就是在網(wǎng)站的根目錄之下放一個(gè)404.php之類(lèi)的動(dòng)態(tài)頁(yè)面,這樣會(huì)返回狀態(tài)碼“404”,所以網(wǎng)站的制作者,在虛擬主機(jī)的后臺(tái)設(shè)置時(shí),必須看清楚自己的設(shè)置,如何要做網(wǎng)站的SEO優(yōu)化,那么就要設(shè)置成能返回“404”狀態(tài)碼的那種,否則就會(huì)吃大虧.
其次,在自定義網(wǎng)站的404錯(cuò)誤頁(yè)面時(shí),對(duì)設(shè)置的錯(cuò)誤頁(yè)面URL鏈接應(yīng)使用相對(duì)路徑而不是絕對(duì)路徑,而且自定義404頁(yè)面應(yīng)該放在網(wǎng)站根目錄下。盡管無(wú)效鏈接可能是多種形式的URL,但當(dāng)發(fā)生404訪問(wèn)錯(cuò)誤時(shí),WEB服務(wù)器會(huì)自動(dòng)將其轉(zhuǎn)到自定義的當(dāng)404錯(cuò)誤頁(yè)中,這跟URL的形似沒(méi)有關(guān)系。
五、404錯(cuò)誤頁(yè)面的設(shè)置方法
1、Apache服務(wù)器下設(shè)置404錯(cuò)誤頁(yè)面
為Apache Server設(shè)置 404錯(cuò)誤頁(yè)面的方法很簡(jiǎn)單,首先制作一個(gè)名為404.html/404.htm/404.php/404.asp/404.aspx的頁(yè)面,視空間要求而定,再在.htaccess 文件中加入如下內(nèi)容即可(.htaccess文件一般linux空間會(huì)自帶的,如果沒(méi)有這個(gè)文件,自己可以用記事本寫(xiě)一個(gè),命名為.htaccess,一定要記得去掉記事本文件的.txt哦。而windows虛擬空間是沒(méi)有這個(gè)文件的,也不用上傳這個(gè)文件):
# 404 page
ErrorDocument 404 /notfound.php
(“notfound”是你給你的自定義錯(cuò)誤頁(yè)面的命名,你也可以改成Error.php等等)
注意:
(1).切記不要將404錯(cuò)誤跳轉(zhuǎn)到網(wǎng)站主頁(yè),比如使用了js腳本或者meta refresh跳轉(zhuǎn)技術(shù)。否則可能會(huì)導(dǎo)致主頁(yè)在搜索引擎中消失或者不被收錄.
(2).切記不要使用絕對(duì)URL如果使用絕對(duì)URL返回的狀態(tài)碼是“302”+“200”
2、IIS/ASP.net下設(shè)置404錯(cuò)誤頁(yè)面
靜態(tài)404錯(cuò)誤頁(yè)面設(shè)置
(1)做個(gè)404頁(yè)面,404.html或者404.htm,根據(jù)你的網(wǎng)站實(shí)際情況來(lái)。
(2)服務(wù)器/虛擬主機(jī)管理設(shè)置,根據(jù)自己的情況,選擇“使用根目錄下的404頁(yè)面”,如果自己能找到“消息類(lèi)型”選項(xiàng),則要選擇“文件”或者“默認(rèn)值”,而不能選擇“URL”。如果自己在主機(jī)提供商網(wǎng)站的管理后臺(tái)找不到此“消息類(lèi)型”選項(xiàng)請(qǐng)聯(lián)系技術(shù)客服做出修改。這是具有決定性的一步。 這步一定要操作好,如果在后臺(tái)找不到這個(gè)消息類(lèi)型,就不要自己設(shè)置,因?yàn)槟阍O(shè)置之后肯定返回值是200,所以事先和客服聯(lián)系下。
(3)上傳404.htm到網(wǎng)站根目錄,打開(kāi)一次試試,看是否成功了。
動(dòng)態(tài)404錯(cuò)誤頁(yè)面設(shè)置
首先,修改應(yīng)用程序根目錄的設(shè)置,打開(kāi) “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)默認(rèn)的404頁(yè)面,“notfound.asp”為自定義的404頁(yè)面,使用時(shí)請(qǐng)修改相應(yīng)文件名。
然后,在自定義的404頁(yè)面“notfound.asp”中加入:
<%
Response.Status = “404 Not Found”
%>
這樣,便可以保證IIS能夠正確地返回“404”狀態(tài)碼。
所有的設(shè)置完成之后,別忘記檢測(cè)http狀態(tài),確定返回的是404,而不是200。http狀態(tài)檢測(cè)地址參考:Server Header檢查工具(http://www.seochat.com/seo-tools/redirect-check/)
相關(guān)文章
剖析巨無(wú)霸網(wǎng)站 404頁(yè)面如何設(shè)置才是最優(yōu)選擇
今天小編為大家?guī)?lái)了剖析巨無(wú)霸網(wǎng)站 404頁(yè)面如何設(shè)置才是最優(yōu)選擇相關(guān)內(nèi)容的介紹,感興趣的朋友們可以跟著小編去下文了解一下哦2015-12-09- 沒(méi)人會(huì)想到網(wǎng)站訪客會(huì)在錯(cuò)誤頁(yè)面上停留,但實(shí)際上這種情況確實(shí)存在。特別是在404頁(yè)面上,訪客會(huì)經(jīng)常逗留。2014-12-30
網(wǎng)站中404頁(yè)面到底有什么用?探討404頁(yè)面的作用和如何設(shè)置
建站的時(shí)候都會(huì)考慮404頁(yè)面,但是404頁(yè)面對(duì)于網(wǎng)站到底有什么用?隨著網(wǎng)站內(nèi)容的增多,還有相應(yīng)內(nèi)鏈的復(fù)雜度增加,都會(huì)造成死鏈問(wèn)題。所以借助于404頁(yè)面的提示作用,就能夠2014-11-05淺析制作404錯(cuò)誤頁(yè)面時(shí)應(yīng)該注意的問(wèn)題
本文主要講訴在做網(wǎng)站優(yōu)化時(shí)我們要學(xué)會(huì)利用錯(cuò)誤頁(yè)面,例如我們網(wǎng)站可能出現(xiàn)的404錯(cuò)誤頁(yè)面,以及在制作404頁(yè)面是需要注意到的問(wèn)題2014-08-27網(wǎng)站404錯(cuò)誤頁(yè)返回200狀態(tài)碼的不利影響及解決方法
關(guān)于404錯(cuò)誤,相信每個(gè)站長(zhǎng)都非常熟悉,那么如何檢測(cè)404頁(yè)是否正確呢,這里腳本之家小編為大家分享下2014-08-07你眼中的404頁(yè)面未必返回404狀態(tài)碼 404頁(yè)面如何正確設(shè)置
404頁(yè)面存在的意義就是告訴瀏覽者和搜索引擎所請(qǐng)求的頁(yè)面不存在或是鏈接錯(cuò)誤,你這檢查只能說(shuō)明用戶看到的是404頁(yè)面,而對(duì)于搜索引擎呢?會(huì)對(duì)這個(gè)頁(yè)面返回404狀態(tài)碼嗎2014-07-05網(wǎng)站真的有必要設(shè)置404頁(yè)面嗎?
做網(wǎng)站的朋友基本都做了404頁(yè)面,那網(wǎng)站真的有必要設(shè)置404頁(yè)面嗎?看看下文的介紹2014-05-26404頁(yè)面對(duì)網(wǎng)站來(lái)說(shuō)絕對(duì)是有益無(wú)害的觀點(diǎn)說(shuō)明
在SEO學(xué)習(xí)的過(guò)程中,404頁(yè)面是其中必須要掌握的一個(gè)SEO技巧,正確使用404頁(yè)面對(duì)網(wǎng)站絕對(duì)是有益無(wú)害的2011-05-13- 404 未找到頁(yè)面設(shè)計(jì)的良好建議2009-12-08
好的404錯(cuò)誤頁(yè)面設(shè)計(jì)增強(qiáng)用戶體驗(yàn)
一個(gè)網(wǎng)站上的404 錯(cuò)誤是服務(wù)器在請(qǐng)求資源找不到的時(shí)候發(fā)生的。一個(gè)設(shè)計(jì)合理的404錯(cuò)誤頁(yè)面不僅僅是網(wǎng)站完整性的一部分,還是網(wǎng)站的可用性的重要體現(xiàn)。好的404錯(cuò)誤頁(yè)面設(shè)計(jì)可2009-07-01