利用Apache Httpd创建多个站点

默认装好Apache Httpd是只有一个站点的,一般在“/var/www/html/”这个目录,如果需求只有一个站点的话并没什么不方便,但如果想要建立多个站点的话,只一个目录就会很麻烦(我被坑了很久),网上很多搜到的相关资料大部分是通过在默认站点目录“/var/www/html”创建多个子目录来建立多个站点,然后做301跳转,这样做也不是不可以,但是会有很多限制和麻烦,首先只有一个index.php,只有一个.htaccess等等……所有域名解析到服务器ip上时首先访问的永远是/var/www/html目录,控制起来非常繁琐。下面介绍怎么用Apache Httpd来避免这些麻烦。

安装环境:centos6 32位

主要用到的是Httpd的虚拟站点功能,装好Apache后,编辑httpd.conf文件,一般在“/etc/httpd/conf/”目录下,在文件中找到

将这一句前面的#去掉,不这样做的话就不能开启多个站点。

然后继续在httpd.conf文件的结尾处找到

这里可以看到关于虚拟站点配置的介绍,在文件最后面加上

这样就配置好了两个站点,其中xxx.com就是域名。

意思就是说当浏览器访问soft.xxx.com时,会进入/var/www/html/soft目录下的网站,game.xxx.com同理。

再到/var/www/html目录下创建两个站点文件夹soft和game。

然后重新启动apache httpd服务

如果没有提示错误的话,就表示多站点建立完毕了。

这时就可以在soft和game目录下放入不同的index.html文件,然后浏览器访问soft.xxx.com和game.xxx.com看看是不是就分别进入了不同的站点了。

注:这样配置以后,“/var/www/html”就不再是站点目录了。此时默认的站点目录变成了“/var/www/html/soft”,也就是说当用没有配置过的二级域名访问时,比如news.xxx.com默认访问的就是soft.xxx.com里的内容,如果想要让默认站点变成game.xxx.com的话就将game.xxx.com的<VirtualHost *:80>节点放在soft.xxx.com之前,如下:

所以配置文件 httpd.conf 中第一个被配置的站点就是服务器的默认站点。这时如果要做news.xxx.com的301跳转的话就需要在/var/www/html/game下的.htaccess文件中配置。(这里假设news.xxx.com未做站点配置,如果做了就要在news.xxx.com对应的站点目录下进行)

本文所讲内容并没有做太多的深入研究,仅个人实践结果,若有不对的地方,还请见谅,同时欢迎指正指出。

原创文章,转载请注明: 转载自 Tshine's Blog

本文链接地址: 利用Apache Httpd创建多个站点

发表评论

电子邮件地址不会被公开。 必填项已用*标注