php301跳轉
① php如何獲取301重定向前的域名
首先找到你網站的入口文件,一般都是在根目錄里的 index.php 這個文件,用編輯器打開它,在這里推薦您使用 Dreamweaver 這個軟體,功能很強大的,如果您電腦上沒有安裝有這個軟體,也可以使用記事本,這就是最簡單的編輯器了。
打開了,在所有代碼的最前面加上以下代碼即可,當然,所指的最前面沒有包涵 PHP 標識符,如果連這個都沒有了,代碼是無法運行的,因為它是 PHP 語言。
先上張圖看看吧。
使用說明:
$getUrl= $_SERVER['SERVER_NAME'] 是獲得當前輸入的 url 地址,也就是說訪問者在瀏覽器地址里輸入的域名地址。
$jumpUrl 這個變數是要跳轉到的 url 地址,也就是您網站的主域名。
如果您的網站是多個域名訪問的,可以保留判斷是否是主域名這段代碼,如果你只有一個域名進行訪問,可以把這一段刪除即可,關於如何使用這段代碼,在筆者貼上來的代碼里有說明,按照說明進行修改就行了。
這些設置好了之後,進行保存,上傳到您網站覆蓋原來的 index.php 文件,這樣,就做好了 301 跳轉了。
筆者就拿 www.a.com 和 www.b.com 這兩個域名來進行說明,當訪問者在瀏覽器的地址欄輸入 a.com 時,自動跳轉到 www.a.com ,當訪問者在瀏覽器的地址欄輸入 b.com ,或者輸入 www.b.com 時,自動跳轉到 www.a.com。
在這里使用到$_SERVER['SERVER_NAME'] 的 PHP 系統函數獲得傳進來的域名 URL 。
PHP 里的substr() 是用來截取字元串的一部分,應該會使用的吧,裡面主要有三個參數,第一個參數是傳進來的字元串,這個參數是必須的;第二個參數是從第幾個開始截取,也是必須的;第三個是截多長的字元串,是可選的。
代碼片段:
$getUrl= $_SERVER['SERVER_NAME'];// 獲得當前輸入的 url
$jumpUrl= 'Location:http://www.a.com';// 要進行跳轉的 url
if(substr($getUrl,0,4)!='www.'){// 判斷 url 中是否帶 www
redirect($jumpUrl);
}
if(substr($getUrl,0,1) == 'b' || substr($getUrl,4,1) == 'b'){// 判斷是否是主域名
redirect($jumpUrl);
}
/* 如果有多個域名,可以繼續添加
* 不想多解釋,你應該明白的,
*/
// 跳轉函數
function redirect($jumpUrl){
header('HTTP/1.1 301 Moved Permanently');
header($jumpUrl);// 301 跳轉到設置的 url
exit();
}
② 如何通過PHP實現域名跳轉
域名跳轉也就是平常所說的網站301重定向,由原來網站指向A地址的,但你想輸入網址後,轉到B地址上,這就是域名跳轉,也稱為Url轉發,一般適用於在多個域名綁定同一個建站CMS的根目錄的時候,在做搜索引擎排名的時候和避免讓用戶記住多個域名的情況下應用。
域名的跳轉分為幾種情況。有301跳轉(301是永久重定向),也有302臨時域名轉移。一般我們做跳轉的時候都是選擇做301跳轉。因為就優化角度來說,302不適用於網站優化。
進行301跳轉的話有三種方法。
第一種:web伺服器做301跳轉。
這種情況適用於獨立伺服器或者VPS使用。設置方法(以IIS6.0伺服器為例):
遠程連接到你的伺服器。然後打開IIS,在網站那裡,右鍵-屬性-網站-IP地址那裡點編輯增加一個站點,增加一個站點,綁定的一下主機頭,也可以綁定多個閑置域名。
打開IIS,首先新建立一個站點,隨便對應一個目錄。這個目錄下可以為空。在欲重定向的網頁或目錄上按右鍵;選中「重定向到URL」;在對話框中輸入目標頁面的地址;切記,記得選
中「資源的永久重定向」;當然,最後要點擊「應用」,完成。
其他Apache伺服器進行跳轉的話,可以進行第二種情況。
第二種:代碼做301跳轉。
這種情況比較常用的。也是最為廣泛快捷的,就是在你需要跳轉的網站根目錄代碼裡面加上跳轉的代碼,跳轉到你的目標網站。
每個CMS的301跳轉代碼設置方法都不一樣,具體可以根據你網站所使用的CMS到網上搜索相應的代碼加入到相應的位置即可。有的是加在index.php/index.htm等文件,有的是直接添加在偽靜態文件,這個需要自行判斷。
第三種:直接在域名做301跳轉。
1、首先解析主域名,主機記錄為@,記錄類型為CNAME
2、接著解析帶www的域名,添加記錄,記錄類型為CNAME
3、記錄值依舊選擇伺服器的IP地址
4、完成後需要等待域名解釋的DNS緩存才可以生效,生效後輸入主域名將直接跳轉到帶www的域名。
一般在做跳轉的時候,我們都是推薦使用前面兩種方法進行做域名的跳轉,尤其第一種辦法,最簡單快捷。而且可以立馬生效。