利用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