一個好的網站,擁有一個好的 404頁面 是標配。
為何要有 404頁面?如何設置一個 404頁面?
why 404 pages?
在本地,比如我打開 localhost/fuck.htm(該文件不存在),HTTP 返回 404 Not Found,同時頁面展示如下:
用戶體驗很差有木有!更重要的是,如果沒有 404頁面,會影響 SEO。
為什么說會影響 SEO 呢?
當你的網站有些頁面地址(路徑)改變了。或者內容被刪除了,導致原地址訪問本頁面時,提示頁面不存在。比如說你網站改版,也會導致很多原來存在的頁面,訪問的時候提示頁面被刪除或不存在。這個時候就會產生很多死鏈接,當一個網站死鏈接過多的時候,對搜索引擎是非常不友好的,影響你的網站整體權重,也對用戶體驗很不好。
這時候就需要一個 404 頁面。這個頁面是所有死鏈接的着陸頁,所有打不開的頁面都會跳轉到這個 404 頁面。這個頁面包含了你的主要的網站欄目導航。用戶在這個頁面可以很方便的選擇繼續瀏覽你網站別的內容。404 頁面設置好以后,通過站長工具狀態碼檢,會返回 404 狀態碼。如果返回狀態碼是 200 說明是設置錯誤(這樣結果會造成搜索引擎有可能認為你網站有大量的重復內容,從而網站權重被降),雖然對訪問的用戶而言,HTTP 狀態碼究竟是 "404" 還是 "200" 並沒有什么區別,但對於搜索引擎則是相當重要的。
404 說白了就是在當前頁面上做一個返回首頁或者其他頁面的一個鏈接,這個鏈接一方面告訴搜索引擎我們這個頁面已經無效了請 "蜘蛛" 再去爬一次首頁吧!這樣當蜘蛛爬到死鏈接(404頁面)那里的時候就會自動跑到首頁並進行索引,也就是說 404 的出現不僅僅讓搜索引擎的數據庫更快的刪除掉這些死鏈接,還能讓蜘蛛更加勤快的認識新網站,可以說是一舉兩得。
set 404 pages
筆者總結了兩種在 APACHE 中設置 404頁面的方法。當然首先你得寫好一個 404頁面,畢竟本質上這也是個 html 頁面,內容就可以集思廣益了,比方說可以寫個小游戲啊,展示網站其他內容,或者說 404公益,等等。這里我寫了個文件把它命名為 404.htm,放在本地服務器的根目錄下(localhost/404.htm)。
方法一 —— .htaccess 設置:
第一種方法是在 .htaccess 文件中進行相關設置。
什么是 htaccess?概述來說,htaccess 文件是 Apache 服務器中的一個配置文件,它負責相關目錄下的網頁配置。通過 htaccess 文件,可以幫我們實現:網頁 301 重定向、自定義 404 錯誤頁面、改變文件擴展名、允許/阻止特定的用戶或者目錄的訪問、禁止目錄列表、配置默認文檔等功能。
關於 htaccess 文件的更多內容可以參考文末鏈接或者自行谷歌百度。
這文件是不是很奇怪,木有文件名,其實也不奇怪,用過 Git 的話你也肯定見過 .git 文件夾。但是本地服務器下沒有該文件啊?在 windows 下從別的文件強制改名轉換的話,會提示 "必須鍵入文件名",so 我們可以用命令行。
打開 cmd,cd 到指定目錄后,用如下命令便可創建一個 .htaccess 文件:
echo.>.config
前面說了,htaccess 文件負責相關目錄下的網頁配置,所以服務器下的任何文件夾都可以有一個自己的 htaccess 文件。這里我們把它放在根目錄下。
打開該文件,將以下內容復制進去:
ErrorDocument 404 /404.htm
這時再打開 localhost/fuck.htm,頁面內容便會變成 404.htm 的內容,返回 404 狀態碼,URL 卻不會變化。
(PS:如此這般我本地便已經生效,但是有些文章指出還需要在 conf 文件下做一些修改,如果沒有生效,可以參考下 這里)
這里有幾點需要注意:
- 一是不能把以上
ErrorDocument 404 /404.htm
中的斜杠漏掉,if so 404 頁面會顯示字符串 "404.htm" - 其二是路徑不能用絕對地址,比如說用 “http://localhost/404.htm”,這樣頁面打開無效的鏈接后,會跳至 “http://localhost/404.htm” 的地址(改變 URL),返回狀態碼 200,這不僅影響站長工具的檢查結果,而且影響 SEO 的收錄
- 其三是不要把 404 錯誤直接轉到網站首頁,這將影響網站的收錄。有些人可能會有疑惑,搞什么 404頁面,404 的時候直接轉到網站根文件不是更好,還能給首頁導量,naive 啊,搜索引擎也不是吃素的,它會認為你這是 "欺騙",從而就不待見你了。
- 如果 IE 還是跳不過去,那肯定是你的 404 頁面內容太少了,至少需要 512 b(字節) 才能讓 ie "臣服",認為你的 404 頁面還是有誠意的
方法二 —— vhosts 設置:
假設你跟樓主一樣設置過 vhosts。(如果沒有,歡迎參考 WampServer下如何實現多域名配置)
接下去就很簡單了,打開 vhosts 文件(比如我的路徑 \wamp\bin\apache\Apache2.2.21\conf\extra\httpd-vhosts.conf),修改如下:
<VirtualHost *:80> DocumentRoot "c:\wamp\www" ServerName localhost ErrorDocument 404 /404.htm </VirtualHost>
要注意的點同 htaccess 設置要注意的一致。
總結
404 頁面是一個成熟的網站必須要有的東西,主要有兩個作用,利於用戶體驗以及 SEO。在 apache 中有兩種設置方式,htaccess 和 vhosts,某些文章指出盡量使用后者,前者比較耗費資源。設置中要注意的點請參考第二小節。
Read More:
http://www.cnblogs.com/zichi/p/5111869.html