301跳轉就是告訴訪問者頁面己經永遠到了新的頁面了,在php中使用301跳轉我們利用header()函數發送301狀態代碼告訴浏覽器,然後再實現頁面跳轉即可。
PHP純代碼跳轉
代碼如下 復制代碼<?php
header("Location:http://www.bKjia.c0m/");
?>
但是這種返回的狀態碼是302
如果要實現301跳轉的話,需要在之前設置下狀態碼
代碼如下 復制代碼<?php
header( "HTTP/1.1 301 Moved Permanently" ) ;
header("Location:http://www.bKjia.c0m/");
?>
更簡單的PHP跳轉301代碼
<?php
$urlto='http://www.bKjia.c0m/';
header('Location: '.$urlto, TRUE, 301);
?>
可能出現的問題
Warning: Cannot modify header information - headers already sent by把文件編碼改成 UTF-8無BOM格式 可解決該問題,如果還是有問題,就檢查下該代碼前是否定義了字符串變量,刪除這個變量再試試。
附:30*返回狀態碼的區別
301,302 都是HTTP狀態的編碼,都代表著某個URL發生了轉移,不同之處在於:
1.301 redirect: 301 代表永久性轉移(Permanently Moved),
2.302 redirect: 302 代表暫時性轉移(Temporarily Moved ),
這兩種轉移在使用的時候有啥好處或者問題?
301 重定向是網頁更改地址後對seo搜索引擎友好的最好方法,只要不是暫時搬移的情況,都建議使用301來做轉址。
302 重定向是臨時性轉移。