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