利用php url轉發 – 解決空間不提供子目錄綁定功能的問題
- 2019 年 10 月 8 日
- 筆記
由於很多新手都是使用的虛擬空間都是最便宜的那種,這空間一般不支援子目錄綁定。但是很多朋友又想設置幾個不同的二級域名訪問不同的網站程式。於是大家找到了域名url轉發,但是由於國家政策的原因,許多服務商暫停了url轉發功能,或者要收費。然後大家又去找免費的url轉發,但是我發現效果不佳。現在就給大家分享一個利用php的header()函數來解決這一問題!
此方法基本解決了空間不提供子目錄綁定功能的問題,但是不利於SEO優化,慎用!
需要的條件:
1、有一個域名(如domain.com)
2、有一個虛擬空間(支援php語言)
3、要實現如下效果:比如有兩個項目,一個是主頁,一個是論壇;想在瀏覽器輸入http://www.domain.com時頁面顯示的是主頁,在瀏覽器中輸入http://bbs.domain.com時就顯示一個論壇的程式
步驟:
1、將www.domain.com和bbs.domain.com解析到虛擬空間(此處不贅述,不懂得可以私下問我)
2、在主機的web目錄(空間程式的根目錄),建兩個文件夾,一個是命名為home(可自己更改),在裡面放主頁的程式;另一個命名為bbs(也可自己更改),在裡面放論壇的程式
3、在本地新建一個文本文件,然後命名為index.php,在其中放入一下程式碼:
(1)顯示地址的轉發 ==> 輸入http://www.domain.com 瀏覽器地址欄顯示:http://www.domain.com/home;輸入http://bbs.domain.com 瀏覽器地址欄顯示:http://www.domain.com/bbs
<?php $domain = $_SERVER['HTTP_HOST']; if($domain == "www.domain.com"){ header("location:http://www.domain.com/home"); }else if($domain == "bbs.domain.com"){ header("location:http://www.domain.com/bbs"); } ?>
(2)影藏地址的轉發 ==> 輸入http://bbs.domain.com 瀏覽器地址欄顯示:http://bbs.domain.com
<?php //在地址欄中輸入的地址 $domain = "http://bbs.domain.com" //要轉發到的地址 $http = "http://www.domain.com/bbs"; if($_SERVER['HTTP_HOST'] == $domain){ print <<<EOF <frameset rows="0%,*" frameborder="NO" border="0" framespacing="0"> <frame src="about:blank" name="topFrame" scrolling="NO" noresize> <frame src="{$http}" name="mainFrame"> </frameset> <noframes> <body> <ul> 您的瀏覽器可能不支援框架頁面. <li>此頁面為提供域名的轉向功能,與站點{$target}無關. <li>如此轉向頁面指向到有害內容,請聯絡<a href="#">域名轉向服務提供商</a>刪除 </ul> </body> </noframes> EOF; } ?>
4、將這個index.php文件上傳到主機的web目錄下
5、測試。有木有達到你想要的結果呢!
補充知識:
1、PHP中獲取當前頁面的完整URL http://blog.csdn.net/oldinaction/article/details/39892477
2、PHP設置網網址轉發 http://blog.csdn.net/oldinaction/article/details/39892501