如何在 Apache 中为你的网站设置404页面
一個(gè)好的網(wǎng)站,擁有一個(gè)好的 404頁(yè)面 是標(biāo)配。
為何要有 404頁(yè)面?如何設(shè)置一個(gè) 404頁(yè)面?
why 404 pages?
在本地,比如我打開(kāi) localhost/fuck.htm(該文件不存在),HTTP 返回 404 Not Found,同時(shí)頁(yè)面展示如下:
用戶體驗(yàn)很差有木有!更重要的是,如果沒(méi)有 404頁(yè)面,會(huì)影響 SEO。
為什么說(shuō)會(huì)影響 SEO 呢?
當(dāng)你的網(wǎng)站有些頁(yè)面地址(路徑)改變了。或者內(nèi)容被刪除了,導(dǎo)致原地址訪問(wèn)本頁(yè)面時(shí),提示頁(yè)面不存在。比如說(shuō)你網(wǎng)站改版,也會(huì)導(dǎo)致很多原來(lái)存在的頁(yè)面,訪問(wèn)的時(shí)候提示頁(yè)面被刪除或不存在。這個(gè)時(shí)候就會(huì)產(chǎn)生很多死鏈接,當(dāng)一個(gè)網(wǎng)站死鏈接過(guò)多的時(shí)候,對(duì)搜索引擎是非常不友好的,影響你的網(wǎng)站整體權(quán)重,也對(duì)用戶體驗(yàn)很不好。
這時(shí)候就需要一個(gè) 404 頁(yè)面。這個(gè)頁(yè)面是所有死鏈接的著陸頁(yè),所有打不開(kāi)的頁(yè)面都會(huì)跳轉(zhuǎn)到這個(gè) 404 頁(yè)面。這個(gè)頁(yè)面包含了你的主要的網(wǎng)站欄目導(dǎo)航。用戶在這個(gè)頁(yè)面可以很方便的選擇繼續(xù)瀏覽你網(wǎng)站別的內(nèi)容。404 頁(yè)面設(shè)置好以后,通過(guò)站長(zhǎng)工具狀態(tài)碼檢,會(huì)返回 404 狀態(tài)碼。如果返回狀態(tài)碼是 200 說(shuō)明是設(shè)置錯(cuò)誤(這樣結(jié)果會(huì)造成搜索引擎有可能認(rèn)為你網(wǎng)站有大量的重復(fù)內(nèi)容,從而網(wǎng)站權(quán)重被降),雖然對(duì)訪問(wèn)的用戶而言,HTTP 狀態(tài)碼究竟是 "404" 還是 "200" 并沒(méi)有什么區(qū)別,但對(duì)于搜索引擎則是相當(dāng)重要的。
404 說(shuō)白了就是在當(dāng)前頁(yè)面上做一個(gè)返回首頁(yè)或者其他頁(yè)面的一個(gè)鏈接,這個(gè)鏈接一方面告訴搜索引擎我們這個(gè)頁(yè)面已經(jīng)無(wú)效了請(qǐng) "蜘蛛" 再去爬一次首頁(yè)吧!這樣當(dāng)蜘蛛爬到死鏈接(404頁(yè)面)那里的時(shí)候就會(huì)自動(dòng)跑到首頁(yè)并進(jìn)行索引,也就是說(shuō) 404 的出現(xiàn)不僅僅讓搜索引擎的數(shù)據(jù)庫(kù)更快的刪除掉這些死鏈接,還能讓蜘蛛更加勤快的認(rèn)識(shí)新網(wǎng)站,可以說(shuō)是一舉兩得。
set 404 pages
筆者總結(jié)了兩種在 APACHE 中設(shè)置 404頁(yè)面的方法。當(dāng)然首先你得寫(xiě)好一個(gè) 404頁(yè)面,畢竟本質(zhì)上這也是個(gè) html 頁(yè)面,內(nèi)容就可以集思廣益了,比方說(shuō)可以寫(xiě)個(gè)小游戲啊,展示網(wǎng)站其他內(nèi)容,或者說(shuō) 404公益,等等。這里我寫(xiě)了個(gè)文件把它命名為 404.htm,放在本地服務(wù)器的根目錄下(localhost/404.htm)。
方法一 —— .htaccess 設(shè)置:
第一種方法是在 .htaccess 文件中進(jìn)行相關(guān)設(shè)置。
什么是 htaccess?概述來(lái)說(shuō),htaccess 文件是 Apache 服務(wù)器中的一個(gè)配置文件,它負(fù)責(zé)相關(guān)目錄下的網(wǎng)頁(yè)配置。通過(guò) htaccess 文件,可以幫我們實(shí)現(xiàn):網(wǎng)頁(yè) 301 重定向、自定義 404 錯(cuò)誤頁(yè)面、改變文件擴(kuò)展名、允許/阻止特定的用戶或者目錄的訪問(wèn)、禁止目錄列表、配置默認(rèn)文檔等功能。
關(guān)于 htaccess 文件的更多內(nèi)容可以參考文末鏈接或者自行谷歌百度。
這文件是不是很奇怪,木有文件名,其實(shí)也不奇怪,用過(guò) Git 的話你也肯定見(jiàn)過(guò) .git 文件夾。但是本地服務(wù)器下沒(méi)有該文件啊?在 windows 下從別的文件強(qiáng)制改名轉(zhuǎn)換的話,會(huì)提示 "必須鍵入文件名",so 我們可以用命令行。
打開(kāi) cmd,cd 到指定目錄后,用如下命令便可創(chuàng)建一個(gè) .htaccess 文件:
echo.>.config前面說(shuō)了,htaccess 文件負(fù)責(zé)相關(guān)目錄下的網(wǎng)頁(yè)配置,所以服務(wù)器下的任何文件夾都可以有一個(gè)自己的 htaccess 文件。這里我們把它放在根目錄下。
打開(kāi)該文件,將以下內(nèi)容復(fù)制進(jìn)去:
ErrorDocument 404 /404.htm這時(shí)再打開(kāi) localhost/fuck.htm,頁(yè)面內(nèi)容便會(huì)變成 404.htm 的內(nèi)容,返回 404 狀態(tài)碼,URL 卻不會(huì)變化。
(PS:如此這般我本地便已經(jīng)生效,但是有些文章指出還需要在 conf 文件下做一些修改,如果沒(méi)有生效,可以參考下 這里)
這里有幾點(diǎn)需要注意:
- 一是不能把以上 ErrorDocument 404 /404.htm 中的斜杠漏掉,if so 404 頁(yè)面會(huì)顯示字符串 "404.htm"
- 其二是路徑不能用絕對(duì)地址,比如說(shuō)用 “http://localhost/404.htm”,這樣頁(yè)面打開(kāi)無(wú)效的鏈接后,會(huì)跳至 “http://localhost/404.htm” 的地址(改變 URL),返回狀態(tài)碼 200,這不僅影響站長(zhǎng)工具的檢查結(jié)果,而且影響 SEO 的收錄
- 其三是不要把 404 錯(cuò)誤直接轉(zhuǎn)到網(wǎng)站首頁(yè),這將影響網(wǎng)站的收錄。有些人可能會(huì)有疑惑,搞什么 404頁(yè)面,404 的時(shí)候直接轉(zhuǎn)到網(wǎng)站根文件不是更好,還能給首頁(yè)導(dǎo)量,naive 啊,搜索引擎也不是吃素的,它會(huì)認(rèn)為你這是 "欺騙",從而就不待見(jiàn)你了。
- 如果 IE 還是跳不過(guò)去,那肯定是你的 404 頁(yè)面內(nèi)容太少了,至少需要 512 b(字節(jié)) 才能讓 ie "臣服",認(rèn)為你的 404 頁(yè)面還是有誠(chéng)意的
方法二 —— vhosts 設(shè)置:
假設(shè)你跟樓主一樣設(shè)置過(guò) vhosts。(如果沒(méi)有,歡迎參考 WampServer下如何實(shí)現(xiàn)多域名配置)
接下去就很簡(jiǎn)單了,打開(kāi) 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>要注意的點(diǎn)同 htaccess 設(shè)置要注意的一致。
總結(jié)
404 頁(yè)面是一個(gè)成熟的網(wǎng)站必須要有的東西,主要有兩個(gè)作用,利于用戶體驗(yàn)以及 SEO。在 apache 中有兩種設(shè)置方式,htaccess 和 vhosts,某些文章指出盡量使用后者,前者比較耗費(fèi)資源。設(shè)置中要注意的點(diǎn)請(qǐng)參考第二小節(jié)。
Read More:
- .htaccess是什么?
- php .htaccess 文件使用教程
- 25 個(gè)有用 Apache ‘.htaccess’ 技巧
- Seo實(shí)戰(zhàn)-什么是404頁(yè)面?它有什么作用?
- 404頁(yè)面 百度百科
總結(jié)
以上是生活随笔為你收集整理的如何在 Apache 中为你的网站设置404页面的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 在Word中如何快速输入声调的拼音字母
- 下一篇: web开发方法