Windows下配置Apache虚拟主机(VirtualHost)

Windows下配置Apache虚拟主机(VirtualHost)

关于Windows下Apache应用环境塔建:http://clin003.com/ideas/windows-apache-install-useing-like-php-python-subversion-1330/

Windows下Apache应用环境塔建安全设置(目录权限设置):http://clin003.com/servers/windows-apache-directory-permissions-1798/

配置Apache虚拟主机(VirtualHost)目的

让本地的测试环境使用多个域名,同时可以使用不同的网站根目录,有几个域名需要共用一个相同的网站根目录。

环境
系统:Windows 2003
Web程序版本:Apache2

配置Apache虚拟主机操作步骤

打开Apache安装目录下的conf\httpd.conf

在末尾适当位置添加以下配置指令,根据需要自行修改相关设置,详细的指令解释可继续阅读到文章末尾。

#####BY####clin003################

ServerName ab.baicailin.com
NameVirtualHost 192.168.1.1
<VirtualHost 192.168.1.1>
ServerName site.clin003.com
DocumentRoot D:/wwwroot/htdocs
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory D:/wwwroot/htdocs>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

<VirtualHost 192.168.1.1>
#ServerName ab.baicailin.com
ServerAlias ab.clin003.com  ab.baicailin.com
DocumentRoot D:/wwwroot/htdocs/ab
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory D:/wwwroot/htdocs/ab>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

#默认WEB服务目录为 “D:/wwwroot/htdocs” (也就是第一个虚拟主机对应目录),若没有匹配域名请求的时候会使用到默认虚拟主机。

配置修改完成后,保存,然后重启 Apache 服务即可生效。

ServerName ab.baicailin.com

#主机名 建议使用域名

NameVirtualHost 192.168.1.1

#设置虚拟主机。 当在NameVirtualHost指令后使用IP时,任何使用IP的URL请求都是针对虚拟主机的,主服务器从不会响应一个使用IP的URL 请求。

<VirtualHost 192.168.1.1>

#虚拟主机配置开始标记

ServerName site.clin003.com

#设置虚拟主机名

ServerAlias ab.clin003.com  ab.baicailin.com

#若有多个域名需要共用一个目录,可以使用这个指令

DocumentRoot D:/wwwroot/htdocs

#设置虚拟主机根目录路径

<Directory />

#配置目录权限

Options FollowSymLinks

#FollowSymLinks是规则运作所必需的,这是重写引擎的安全需要。主要用于重定向,伪静态应用。

AllowOverride All

#AllowOverride All是指明Apache服务器是否去找.htacess文件作为配置文件。设置为 all 让所有具有.htaccess 上下文的指令都允许出现在.htaccess文件中。如果设置为none,那么服务器将忽略.htacess文件。 参考:http://www.oschina.net/c/article/10493

Order allow,deny

#关于Apache的Order Allow Deny

Apache有一条缺省规则,“order allow,deny”本身就默认了拒绝所有的意思,因为deny在allow的后面;同理,“order deny,allow”本身默认的是允许所有;当然,最终判断结果还要综合下面的allow、deny语句中各自所包含的范围;(也就是说order语句后面可以没有allow、deny语句)。  “order allow,deny”代表先判断allow语句再判断deny语句,反之亦然。

判断原则分4步走——

1.       首先判断默认的,所谓“首先判断默认的”,就是判断“order deny,allow”这句,它默认是允许所有;

2.       然后判断逗号前的;

3.       最后判断逗号后的;

4.       最终按顺序叠加而得出判断结果。所谓“最终按顺序叠加而得出判断结果”,这是一个形象化了的说法,我把每一步判断都看作一个“不透明的图层”,然后一步步按顺序叠加上去,最终得出的“图像”就是判断结果。

参考:http://blog.csdn.net/zc2087/archive/2009/07/29/4389113.aspx

One thought on “Windows下配置Apache虚拟主机(VirtualHost)

  1. Pingback: 允许浏览目录(目录列表)访问,让爬虫更轻松的索引网站文件 – Lin's Space|Only

Leave a Reply

Your email address will not be published. Required fields are marked *