對於我們SEO人員來說,有的時候需要對網站進行重定向。一般來說,對網站重定向的http返回狀態碼是301和302兩種。下面蘭州SEO就通過實例來為你介紹一下怎樣通過PHP使用header+Location實現網站301重定向。
關於PHP網站的定向問題,在百度上面搜索的一中午,發現使用最多的就是使用“header+Location”的重定向方法。下面我給出最流行的代碼:
1 2 3 4 |
<?php header("Location: http://www.feiyuseo.com"); exit; ?> |
但是通過我對HTTP狀態碼查詢發現,通過以上代碼跳轉重定向后的返回碼是302狀態。我們先來看一下什么是302返回碼?搜索引擎返回302錯誤表示被請求的資源暫時轉移(Moved temporatily),然后會給出一個轉移后的URL,而瀏覽器在處理服務器返回的302錯誤時,原則上會重新建立一個TCP連接,然后再取重定向后 的URL的頁面;但是如果頁面存在於緩存中,則不重新獲取。但是,由於黑帽SEO濫用302重定向進行作弊,302重定向已經被視為垃圾信息,遭到各大搜索引擎的打擊。因此,上面的代碼返回302狀態是不完善的,也是存在被百度等搜索引擎K站的風險的。
請看第二種方法:先返回301狀態碼后再重定向。
1 2 3 4 5 6 |
<?php header('HTTP/1.1 301 Moved Permanently'); header(”Location: http://www.feiyuseo.com”); exit; ?> |
上面的這一段代碼可以說是解決了使用Location產生302狀態的問題,因此是比較完善的也是比較安全的網站重定向方法。就在准備收工的時候,我又突然發現了一段跳轉代碼,也是很不錯的,比這個更精簡,在這里我也為大家附上,一起分享。
1 2 3 4 |
<?php header("Location: http://www.feiyuseo.com",TRUE,301);); exit; ?> |
通過上面的這一行代碼就實現的網站的301重定向,並且高效、安全、可靠運行。