為網(wǎng)站設(shè)置自定義404錯(cuò)誤頁面
作者:晉城網(wǎng)站建設(shè) 日期:2012-02-16
在上篇文章中我們探討過自定義404頁面返回不當(dāng)狀態(tài)碼如“200”等給網(wǎng)站最終SEO效果帶來的不利影響,因此,確保自定義的404錯(cuò)誤頁面能夠返回“404”狀態(tài)碼是極為重要的,也是網(wǎng)站優(yōu)化與SEO的基本要求。
這一點(diǎn)如何保證呢?如何才能為網(wǎng)站設(shè)置能夠正常工作的404錯(cuò)誤頁面?下面針對(duì)不同情況詳細(xì)介紹。
定制404錯(cuò)誤頁面的基本原則首先應(yīng)明確的是,404錯(cuò)誤應(yīng)工作在服務(wù)器級(jí)而不是網(wǎng)頁級(jí)。對(duì)定制使用動(dòng)態(tài)頁面如PHP腳本類型的404頁時(shí),必須確保在PHP執(zhí)行前服務(wù)器已經(jīng)順利地送出“404”狀態(tài)碼,不然,一旦執(zhí)行到了ISAPI級(jí)別,返回的狀態(tài)碼便只能是“200”或其他如“302”之類的重定向狀態(tài)碼了。
其次,無效鏈接有可能指向網(wǎng)站內(nèi)的任何位置,因此,在定制網(wǎng)站的404錯(cuò)誤頁面時(shí),對(duì)其中的鏈接應(yīng)使用絕對(duì)路徑而不是相對(duì)路徑。這點(diǎn)相信很容易理解,考慮一下“http://www.zhongyanimage.com/a/a.html”與“http://www.zhongyanimage.com/a.html”這樣兩個(gè)位于不同目錄深度的無效鏈接,當(dāng)404錯(cuò)誤頁中鏈接使用相對(duì)路徑時(shí)便會(huì)徹底亂套。
Apache下設(shè)置404錯(cuò)誤頁面為Apache Server設(shè)置 404錯(cuò)誤頁面的方法很簡單,只需在.htaccess 文件中加入如下內(nèi)容即可:
ErrorDocument 404 /notfound.php
當(dāng)然,把”/notfound.php” 改為自定義404錯(cuò)誤頁面的地址和名稱。
尤其需要注意的是,不要采取如下的方式:
ErrorDocument 404 http://www.highdiy.com/notfound.php
這樣設(shè)置則是錯(cuò)誤的:其將返回“200”狀態(tài)碼而不是“404”。
另外,需要注意的是,如果您的.htaccess存在類似這樣的內(nèi)容:
ErrorDocument 404 /index.php
切記要將其刪除:這種將404錯(cuò)誤轉(zhuǎn)向到網(wǎng)站主頁的作法存在極大的風(fēng)險(xiǎn),嚴(yán)重時(shí)會(huì)導(dǎo)致主頁在搜索引擎中消失。
IIS/ASP.net下設(shè)置404錯(cuò)誤頁面IIS/ASP.net一直是404頁面不能正確返回“404”狀態(tài)碼的重災(zāi)區(qū),尤其對(duì)動(dòng)態(tài)網(wǎng)頁而言,很多網(wǎng)站在使用IIS管理器設(shè)置404自定義錯(cuò)誤頁面后發(fā)現(xiàn)其返回碼卻是“302” + “200”。
在IIS/ASP.net下設(shè)置404動(dòng)態(tài)頁面
首先,修改應(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)默認(rèn)的404頁面,“notfound.asp”為自定義的404頁面,使用時(shí)請(qǐng)修改相應(yīng)文件名。
然后,在自定義的404頁面“notfound.asp”中加入:
<%
Response.Status = “404 Not Found”
%>
這樣,便可以保證IIS能夠正確地返回“404”狀態(tài)碼。
注:為顯示方便,上文代碼中使用的是全角的“<”與“>”,應(yīng)用時(shí)應(yīng)將其改為半角字符。
在IIS/ASP.net下設(shè)置404靜態(tài)頁面
設(shè)置靜態(tài)404錯(cuò)誤頁面的方法則比較簡單,在IIS管理器中右鍵單擊要管理的網(wǎng)站,打開“屬性”中的“自定義錯(cuò)誤信息”頁,為“404”設(shè)定相應(yīng)的錯(cuò)誤信息頁即可。不過,此處在“消息類型”中一定要選擇“文件”或“默認(rèn)值”,而不要選擇“URL”,不然,將導(dǎo)致返回“200”狀態(tài)碼。
當(dāng)然,在設(shè)置完成后,最好用Server Header檢查工具檢查一下設(shè)定是否正確。
上一篇
下一篇

Tags: ,