發(fā)布:JB01 來源:腳本學(xué)堂 【大 中 小】本文詳細(xì)介紹了,在php編程中實現(xiàn)301跳轉(zhuǎn),即301永久重定向的方法,感興趣的朋友可以參考學(xué)習(xí)下。 本文轉(zhuǎn)自:http://www./article/14040.html
本節(jié)內(nèi)容: 什么是301轉(zhuǎn)向? 301轉(zhuǎn)向(或叫301重定向,301跳轉(zhuǎn))是當(dāng)用戶或搜索引擎向網(wǎng)站服務(wù)器發(fā)出瀏覽請求時,服務(wù)器返回的HTTP數(shù)據(jù)流中頭信息(header)中的狀態(tài)碼的一種,表示本網(wǎng)頁永久性轉(zhuǎn)移到另一個地址。 為什么要做網(wǎng)址轉(zhuǎn)向? 比如,為保護(hù)版權(quán),你擁有不同TLD的多個域名: company.com company.net company.org company.com.cn company.cn 等。 很自然這些域名全部指向一個網(wǎng)站。如用company.com為主域名,其它域名就可以轉(zhuǎn)向到company.com。 或注冊了公司全稱域名longcompanyname.com,但太長 ,你也注冊了縮寫域名方便用戶記住lcn.com,其中一個做主域名,另一個就可以轉(zhuǎn)向到主域名。 為什么要用301轉(zhuǎn)向? 網(wǎng)址轉(zhuǎn)向方法主要包括:301轉(zhuǎn)向,302轉(zhuǎn)向,JavaScript轉(zhuǎn)向,PHP/ASP/CGI轉(zhuǎn)向,META REFRESH網(wǎng)頁META刷新,等。302轉(zhuǎn)向可能會有URL規(guī)范化問題。其它方法都是常用的作弊手法,當(dāng)然不是說不可以正當(dāng)?shù)赜?,方法本身沒有錯,但被作弊者用多了,搜索引擎對這些可疑的轉(zhuǎn)向都很敏感。何必冒險呢。 當(dāng)網(wǎng)頁A用php 301重定向轉(zhuǎn)到網(wǎng)頁B時,搜索引擎可以肯定網(wǎng)頁A永久的改變位置,或?qū)嶋H上不存在了,搜索引擎就會把網(wǎng)頁B當(dāng)作唯一有效目標(biāo)。 很多時候其它網(wǎng)站會鏈接到: 而不是我們希望或常用的: 這樣鏈接的PR也會傳遞到所有URL,如果用php 301跳轉(zhuǎn)把前三個URL轉(zhuǎn)到: PR也就集中在網(wǎng)頁http://www.了。 怎樣做301轉(zhuǎn)向 如果你用的是Unix/Linux主機(jī),可以用file.gif文件(Unix/Linux中用于目錄特定指令如密碼,轉(zhuǎn)向,錯誤處理等的文件)。 比如把/old.htm轉(zhuǎn)到http://www./new.htm,可以用這個指令: 復(fù)制代碼代碼示例: redirect 301 /old.htm http://www./new.htm 或 redirect permanent /old.htm http://www./new.htm 如果要把所有http://形式的URL用301重定向轉(zhuǎn)到 http://www.,包括: 復(fù)制代碼代碼示例: http:///about.htm 轉(zhuǎn)到 http://www./dir/index.htm 等等,還要用到mod_rewrite: 復(fù)制代碼代碼示例: Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^ [NC] RewriteRule ^(.*)$ http://www./$1 [L,R=301] 如果使用 Windows主機(jī),應(yīng)該在控制面板做301轉(zhuǎn)向設(shè)定。 補(bǔ)充 :在網(wǎng)址規(guī)范化評論里回答石頭王的問題,可能對大家有幫助: 據(jù)我所知,HTML無法做301轉(zhuǎn)向。在HTML里只能做JS或META REFRESH,但不是301轉(zhuǎn)向。 PHP可以做301轉(zhuǎn)向: PHP代碼: 復(fù)制代碼代碼示例: <? Header( “HTTP/1.1 301 Moved Permanently” ); Header( “Location: http://www.” ); ?> 另外,DOThtaccess文件只是一個普通文字文件,你用Notepad建這個文件,放上指令,存在你賬號的根目錄下就行了。 |
|