1、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();
}
2、php配置網站為什麼顯示域名重定向?
把localhost換成你的ip地址
http://你的ip/bangbang/
這樣就好了吧。
3、本地安裝phpcms v9時出現域名重定向
樓主你好:
這里你有必要了解下127.0.0.1和localhost的區別:
localhost也叫local ,正確的解釋是:本地伺服器
127.0.0.1在windows等系統的正確解釋是:本機地址(本機伺服器)
他們的解析通過本機的host文件,windows自動將localhost解析為127.0.0.1
localhot(local)是不經網卡傳輸!這點很重要,它不受網路防火牆和網卡相關的的限制。
127.0.0.1是通過網卡傳輸,依賴網卡,並受到網路防火牆和網卡相關的限制。
一般設置程序時本地服務用localhost是最好的,localhost不會解析成ip,也不會佔用網卡、網路資源。
127.0.0.1是一個送回地址,所以你用localhost訪問的時候系統會定面到127.0.0.1,360瀏覽器就會顯示重定向。
這個可以修改C:\Windows\System32\drivers\etc下的hosts文件。
希望可以幫到你, 林羽凡
4、如何通過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的域名。
一般在做跳轉的時候,我們都是推薦使用前面兩種方法進行做域名的跳轉,尤其第一種辦法,最簡單快捷。而且可以立馬生效。
5、php 域名301重定向,把不帶www的域名重定向到帶www的域名上。
把不帶www域名301重定向到帶www的域名上,有利於優化。
怎麼做:
1.需要新建站點,這個是網上很多教程都沒講的一點,如果你沒有新建站點,那麼你的網站會陷入一個重定向的死循環。在IIS上新建一個iswweb.com這樣不帶www的站點。建這個站點可以不放任何內容在文件夾中都可以,只要站點存在即可。
2.右鍵在新建的這個站點上點屬性,主目錄,重定向到url,下面的文本框里填寫上整個網站完整的輸入地址 ,這里一定要填寫帶www的,而且要跟上$S$Q,以保證帶有參數的連接也可以重定向到帶www的域名。「上面輸入的准確URL」和「資源的永久重定向」這2項要勾上。
3.其實帶www和不帶WWW的2個站點是獨立的,也就是說你可以單獨為不帶WWW的域名建一個站點,重定向到帶WWW的就行。
4.就是檢測301重定向是否成功。站長工具的HTTP狀態工具(chinaz)即可查到,如果查到的返回狀態是301就說明你已經成功了。
6、301重定向永久重定向!我的是想把不帶www的域名重定向到帶www的域名!請問該如何做呢???????
分兩步:
1、建立一個 301.php頁面,代碼如下:
<?php
$the_host = $_SERVER['HTTP_HOST'];
$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
if($the_host !== '這里寫不帶WWW的域名回')
{
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://這里寫入帶WWW的域名'.$request_uri);
}
?>
2、在PHP頁面頂部插入調用這答個文件:
<?php include("301.php"); ?>
就可以了,當然,你也可以通過URL重寫的方法來完成。。
7、大家好,我想做個域名劫持的PR310301重定向,請問PHP代碼怎麼寫?謝謝了,大神幫忙啊
到iis那裡更復改屬制性,設置一下就好了。 www.kehuatuliao.com 贛州塗料 查看原帖>>
8、php url重定向 帶上了跳轉域名
要加上http://不然會跳轉到本域名
9、thinkphp如何根據域名跳轉到其他目錄頁面
ThinkPHP redirect 方法可以實現頁面的重定向(跳轉)功能。
redirect 方法語法如下:
$this->redirect(string url, array params, int delay, string msg)
參數說明:
參數
說明
url
必須,重定向的 URL 表達式。
params
可選,其它URL參數。
delay
可選, 重定向延時,單位為秒。
msg
可選,重定向提示信息。
ThinkPHP redirect 實例
在 Index 模塊 index 方法中,重定向到本模塊的 select 操作:
class IndexAction extends Action{