linux主機404和301重定向頁面的設置方法

來源:http://hi.baidu.com/ruohen66/blog/item/ef411d13b0ef702cdc5401d8.html

最近這幾天都在研究404頁面和301重定向的設置,終于還是有所收獲的,服務器使用的是linux主機,linux主機最大的好處是一切都可以自助設置,不用麻煩空間商。404頁面和301重定向頁面的設置都可以在.htaccess文件中實現,下面說說關于linux主機404頁面和301重定向的設置方法,自己也留個存檔,以備不時之需。

一、linux主機404頁面的設置

1,制作好404頁面,上傳網站目錄下

2,在網站目錄下上傳.htaccess文件。Apache服務器的.htaccess是一個非常強大的分布式配置文件,學會使用.htaccess,對虛擬主機用戶來說,可以實現眾多的功能。比如,404,301設置,防盜鏈等。不過創建.htaccess文件有點困難。因為.htaccess是一個古怪的文件名(它事實上沒有文件名,只有一個由8個字母組成的擴展名),可以命名為其它名字(例如htaccess.txt),再將其上傳到服務器上,之后直接使用FTP軟件來重命名。

在.htaccess文件中只需要加入這句,就可以完成404設置。

ErrorDocument 404 /404.html (可以設置404頁面放置的目錄)

另外,不要給404頁面加上自動跳轉,這是SEO的大忌。發現不少網站怕客戶流失,而設置了跳轉到首頁,這是一個錯誤,過一段時間你可能會發現錯誤或失效的網址繼續會在搜索引擎中存在,而且更新的標題會是你所跳轉的地址的標題,這個就是因為設置了跳轉到首頁導致的。

做完之后,檢查一下,404頁面是否正確設置成功。

二、linux主機301重定向的設置

linux主機301重定向同樣可以在.htaccess文件中實現,只要把301重定向代碼放置在其中即可。

用301將不帶WWW的域名重定向主域名:

用301將綁定的其他域名重定向到主域名:

注意這個地方,有RewiteEnginee on這句,
RewriteEngine on
RewriteCond %{HTTP_HOST} ^其他域名.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.其他域名.com$
RewriteRule ^(.*)$ http://www.主域名.com/$1 [R=301,L]

舊域名重定向到新域名

創建一個.htaccess文件,并將下面提供的代碼寫入文件內,它可以確保舊域名所有的目錄或者網頁正確的跳轉到新域名內。

記住.htaccess文件一定要放在舊網站的根目錄下,并且新網站要和舊網站保持相同的目錄結構及網頁文件

如果所有的其它的域名都重定向到一個的話,可以直接如下, 省于RewriteCond語句.

用301將index.html、index.php等重定向到主域名:
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.52mtu.com/ [R=301,L]

301轉向和網址規范化

什么是301轉向?

301轉向(或叫301重定向,301跳轉)是當用戶或搜索引擎向網站服務器發出瀏覽請求時,服務器返回的HTTP數據流中頭信息(header)中的狀態碼的一種,表示本網頁永久性轉移到另一個地址。

其它常見的狀態碼還包括,200表示一切正常,404網頁找不到,302暫時轉向,等等。

為什么要做網址轉向?

除了前面介紹過的網址規范化問題外,還有很多需要做網址轉向的情形。比如,為保護版權,你擁有不同TLD的多個域名:

52mtu.com
52mtu.net
52mtu.org
52mtu.com.cn
52mtu.cn
等等。

很自然這些域名全部指向一個網站。如用52mtu.com為主域名,其它域名就可以轉向到52mtu.com。

或者你注冊了公司全稱域名woaimeituwang.com,但太長 ,你也注冊了縮寫域名方便用戶記住52mtu.com,其中一個做主域名,另一個就可以轉向到主域名。

為什么要用301轉向?

網址轉向方法主要包括:301轉向,302轉向,JavaScript轉向,PHP/ASP/CGI轉向,META REFRESH網頁META刷新,等。302轉向可能會有URL規范化問題。其它方法都是常用的作弊手法,當然不是說不可以正當地用,方法本身沒有錯,但被作弊者用多了,搜索引擎對這些可疑的轉向都很敏感。何必冒險呢。

當網頁A用301重定向轉到網頁B時,搜索引擎可以肯定網頁A永久的改變位置,或者說實際上不存在了,搜索引擎就會把網頁B當作唯一有效目標。好處是,第一,沒有網址規范化問題,第二,也很重要的,網頁A的PR網頁級別會傳到網頁B。

很多時候其它網站會鏈接到

http://domainname.com
http://www.domainname.com/index.html
http://domainname.com/index.html

而不是你希望的

http://www.domainname.com

這樣鏈接的PR也會傳遞到所有URL,如果你用301轉向把前三個URL轉到
http://www.domainname.com
PR也就集中在網頁http://www.domainname.com了。

怎樣判斷網站有網址規范化問題?

英語中有句話,東西沒壞就別修理。很多網站沒做301轉向排名也沒影響,那就別動它。

如果你覺得網站排名沒有預想的好,可以看看是否有網址規范化問題:

1) 查一下這些URL是否都有差不多的PR值和網頁快照:

http://domainname.com
http://www.domainname.com/index.html
http://domainname.com/index.html
http://www.domainname.com

如果是,那可能有問題。

2)搜一下site:domain.com看是否結果中有多個主頁版本。

3)你的網站是否在Google有大量網頁被標為“ 補充材料”(Supplemental Result)。一般認為被歸為“ 補充材料”是網址規范化問題的征兆。

怎樣做301轉向

如果你用的是Unix/Linux主機,可以用文件(Unix/Linux中用于目錄特定指令如密碼,轉向,錯誤處理等的文件)。

比如把/old.htm轉到http://www.domain.com/new.htm,可以用這個指令:

redirect 301 /old.htm http://www.domain.com/new.htm

redirect permanent /old.htm http://www.domain.com/new.htm

如果要把所有http://domain.com形式的URL用301重定向轉到 http://www.domain.com,包括:

http://domain.com/about.htm
轉到 http://www.domain.com/about.htm

http://domain.com/dir/index.htm
轉到 http://www.domain.com/dir/index.htm

等等,還要用到mod_rewrite:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
rewriteEngine on
rewriteCond %{http_host} ^52mtu.com[NC]
rewriteRule ^(.*)$ http://www.52mtu.com/$1 [R=301,L]



關于絲路絲路網史版權聲明法律顧問聯系我們
Copyright ? 2004-2011 by onesl.com all rights reserved
建議您使用1024*768分辨率、火狐瀏覽器瀏覽

閩ICP備11005983號

20选5中奖金额