由于很多新手都是使用的虚拟空间都是最便宜的那种,这空间一般不支持子目录绑定。但是很多朋友又想设置几个不同的二级域名访问不同的网站程序。于是大家找到了域名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
新手站长交流群: