【虛擬主機篇】PHP頁面實現301重定向方法

    1. <?php
    2. $the_host = $_SERVER['HTTP_HOST'];//取得進入所輸入的域名
    3. $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判斷地址後面部分
    4. if($the_host !== 'www.uiseo.cn')//這是我要以前的域名地址
    5. {
    6. header('HTTP/1.1 301 Moved Permanently');//發出301頭部
    7. header('Location: http://www.uiseo.cn'.$request_uri);//跳轉到我的新域名地址
    8. }
    9. ?>

其中if($the_host !== 'www.uiseo.cn')中的“!==”是不完全等於的意思,也可以用“!=”不等於,這樣,就可以將以前的域名,包括pciso.cnwww.pciso.cn 以及新域名中uiseo.cn 全部重定向到www.uiseo.cn。還可以寫成:if($the_host == 'www.pciso.cn')。
需要說明的是,這個代碼只能實現當前頁面的跳轉(也就是加了代碼的這個頁面的跳轉)。要實現整站的跳轉,則需在服務器上設置。

301重定向實現步驟:

將這個代碼放到你所有網頁的最前面:
1.直接調用,把以上代碼複製到一個新文件內,起名爲***.php(如:301.php)。在網頁文件中調用301.php,調用代碼爲:<?php include("301.php"); //301重定向 ?>
2.把以上代碼直接添加到頁面中。

好了,301重定向就做好了,將301文件上傳到網站目錄,就可以去看着你的成果了,此時你的php網站實現永久性301重定向。

重定向的參數說明:

$S——將請求的 URL 的後綴傳遞給新的 URL。後綴是用重定向的 URL 代替之後,初始 URL 中所保留的部分。如果未設置 EXACT_DESTINATION 標誌,則結果目標 URL 的名稱將具有所請求文件的名稱(作爲文件夾名稱)以及文件名本身。     
$P——將初始 URL 中的參數(如 querystring 參數)傳遞至新的 URL,不包括問號 (?)。
$Q——將初始 URL 中的參數(如 querystring 參數)傳遞至新的 URL,包括問號 (?)。
$V——傳遞請求的 URL,不包括服務器名和任何參數。要包含參數,可使用 $P 或 $Q 變量及 $V 變量。如果未設置 EXACT_DESTINATION 標誌,則結果目標 URL 的名稱將具有所請求文件的名稱(作爲文件夾名稱)以及文件名本身。
參數還有很多,基本上最常用的就是$S和$Q,任意網址想要實現301的永久重定向只需設置$S和$Q就可以。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章