公告:

Apache配置多站点,Apache虚拟目录配置

作者:star0312 / 时间:12年前 (2013/02/16) / 分类:网站运营 / 阅读:1176 / 评论:0

我使用的环境是WAMP SERVER,在apache的配置文件httpd.conf中有如下一句:

Include "f:/wamp/alias/*"

我的WAMP SERVER安装在F:/下。此句的意思为将alias内的所有配置文件包含到HTTPD.conf内。

这样直接在/wamp/alias/内新建一个配置文件比如:star.conf。

然后将如下代码添加到star.conf内,重启apache即可生效。

 

NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
DocumentRoot D:/www/caoxiantse
ServerName www.caoxiantse.com
</VirtualHost>
<VirtualHost 127.0.0.1:80>
DocumentRoot D:/www/pinjackgau
ServerName www.jackgau.com
</VirtualHost>

 

测试IP:127.0.0.1(这里只是本地测试,如果是VPS等有独立IP的,以下全部改成独立IP)
我的服务器(也就是本机)网站根目录是 D:/www/
网站根目录下的两个个网站目录:caoxiantse,jackgau

caoxiantse与jackgau下均有两个index.php文件,里面的内容为:
假设我有两个域名(多个同理),www.caoxiantse.comwww.jackgau.com
首先要改一下hosts文件,在 C:/WINDOWS/system32/drivers/etc 下
>在原来的:
127.0.0.1 localhost
再加两行,变成如下:
127.0.0.1 localhost
127.0.0.1 www.caoxiantse.com
127.0.0.1 www.jackgau.com

这样,就可以让两个域名的IP指向到本机上,满足我们测试的要求

下面开始配置多网站:

当然是修改apache的配置文件httpd.conf了,添加以下几行:

NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
DocumentRoot D:/www/caoxiantse
ServerName www.caoxiantse.com
</VirtualHost>
<VirtualHost 127.0.0.1:80>
DocumentRoot D:/www/pinjackgau
ServerName www.jackgau.com
</VirtualHost>
记住 NameVirtualHost 127.0.0.1:80 这个一定要有,否则,打开所有的域名,都是指向第一个,这个就是很多人出现的配置不成功的问题所在了。
还有,既然设置127.0.0.1为NameVirtualHost,那么原先的也一定要改为,不然也不会成功的。

重启Apache后,就可以用上面的两个域名打开,就显示不同的内容了,测试成功。

但是,还会存在一个问题,那就是localhost的问题。
如果用这种方式,localhost以及127.0.0.1这两个站点,会被默认放在第一个站点上,即www.maoegg.com上,那在本地访问localhost,以及用外网IP直接访问,
默认站点不是apache默认的站点了,那就添加一个站点

<VirtualHost 127.0.0.1:80>
 DocumentRoot D:/www
 ServerName localhost
 ServerAlias 127.0.0.1
</VirtualHost>

其中ServerAlias 127.0.0.1,给这个站点添加另外一个访问地址。

当然,如果你想让你的站点www.caoxiantse.com,能通过maoegg.com的方式访问,也可以用这种方式。
(这一步,如果是非本地的话,你得去你的域名管理页面添加@.maoegg.com的解析。本地的话,在hosts中添加127.0.0.1 maoegg.com)
即:

<VirtualHost 127.0.0.1:80>
 DocumentRoot D:/www/caoxiantse
 ServerName www.caoxiantse.com
 ServerAlias maoegg.com
</VirtualHost>

再有,就是安全问题了。
如果采用这种配置方式,如果访问到没有index文件的目录,那么改目录的目录结构会直接暴露出来,这还是比较不安全的。
所以,要添加访问权限了,将站点配置改为如下:

<VirtualHost 127.0.0.1:80>
 DocumentRoot D:/www/caoxiantse
 ServerName www.caoxiantse.com
 ServerAlias caoxiantse.com
 <Directory “D:/www/caoxiantse”>
 Options -Indexes FollowSymLinks
 AllowOverride None
 Order allow,deny
 Allow from all
 </Directory>
</VirtualHost>

在Indexes前,加 + 代表允许目录浏览;加 – 代表禁止目录浏览。

 

我使用的环境是WAMP SERVER,在apache的配置文件httpd.conf中有如下一句:

Include "f:/wamp/alias/*"

我的WAMP SERVER安装在F:/下。此句的意思为将alias内的所有配置文件包含到HTTPD.conf内。

这样直接在/wamp/alias/内新建一个配置文件比如:star.conf。

然后将如下代码添加到star.conf内,重启apache即可生效。

 

NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
DocumentRoot D:/www/caoxiantse
ServerName www.caoxiantse.com
</VirtualHost>
<VirtualHost 127.0.0.1:80>
DocumentRoot D:/www/pinjackgau
ServerName www.jackgau.com
</VirtualHost>

 

 

 

  • 我的QQ二维码
  • QQ群
  • 我的微信二维码
  • 微信公众号

没有评论,留下你的印记,证明你来过。


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。