我们知道大部分虚拟主机都只支持一个站点,想要同时部署多个站点,要么加钱购买支持多个站点的虚拟主机,要么就买VPS或者云主机。VPS或者云主机相当于一台完整的服务器,理论上讲想部署几个网站就部署几个,但是价格摆在那里,对于学生党或者新手站长来说,还是虚拟主机划算一点。那么如何在一个只支持单站点的虚拟主机上部署多个站点呢?还有一个方法就是在二级目录部署网站,用代码实现域名跳转。
下面看一下我们应该如何操作。

首先我们在根目录建立几个二级目录比如/web01、/web02,名字随意,不要用中文就行。并在里面放上我们相应的网站源码。确认通过我们的主域名加二级目录可以正常访问,比如http://www.tenanji.cn/web01http://www.tenanji.cn/web02

虚拟主机的文件管理建议使用可道云,比ftp要方便很多,介绍可以看一下这篇文章:点击查看

接下来我们在虚拟主机的网站根目录创建一个tiao.php,如果已经在根目录建立了站点也可以修改原有的index.php。

新建tiao.php输入以下代码并保存:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
//声明一个url,值为访问者输入的域名
$url = $_SERVER["SERVER_NAME"];
//如果访问域名是web01.tenanji.cn
if($url=="web01.tenanji.cn")
//则跳转到http://web01.tenanji.cn/web01
{echo "<script>location.href='./web01';</script>";}
else //否则执行下一步
//如果访问域名是web02.tenanji.cn
if($url=="web02.tenanji.cn")
//则跳转到http://web02.tenanji.cn/web02
{echo "<script>location.href='./web02';</script>";}
else //否则执行下一步
//以上条件都不满足则打开index.php
{echo "<script>location.href='./index.php';</script>";}
?>

在虚拟主机控制面板设置默认首页,默认设置里面应该有index.php、index.html等等。我们要添加一个tiao.php并把它移动到最上面,使网站默认最先打开tiao.php。注:如果修改原有的index.php则不需要做这一步。

修改原有index.php的方法,在<?php 下面添加以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
//声明一个url,值为访问者输入的域名
$url = $_SERVER["SERVER_NAME"];
//如果访问域名是web01.tenanji.cn
if($url=="web01.tenanji.cn")
//则跳转到http://web01.tenanji.cn /web01
{echo "<script>location.href='./web01';</script>";}
else //否则执行下一步
//如果访问域名是web02.tenanji.cn
if($url=="web02.tenanji.cn")
//则跳转到http://web02.tenanji.cn/web02
{echo "<script>location.href='./web02';</script>";}
else //否则执行下一步

代码和新建文件是一样的只是不需要第1行和最后2行,也不需要添加默认首页。

最后在虚拟主机控制面板绑定相应的域名,并做好域名解析。

完成后直接访问域名就可以自动跳转到对应的二级目录,新手站长只知道这么多,欢迎各位留言交流。