您的位置:首页 > 编程语言 > PHP开发

利用php设置url转发 - 解决空间不提供子目录绑定功能的问题

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

新手站长交流群:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐