先附上官方的examples:apache.org/docs/2.0/vhosts/examples.html">http://httpd.apache.org/docs/2.0/vhosts/examples.html
首先找到Apache的配置文件httpd.conf
确认有下面一行:
代码如下 | 复制代码 |
# Virtual hosts Include "conf/extra/httpd-vhosts.conf" |
如果没有,请在配置文件末尾添加。然后找到httpd-vhosts.conf添加配置。
复制里面的一个example,进行修改,这里以example.com为例。
代码如下 | 复制代码 |
# # Use name-based virtual hosting. # NameVirtualHost *:80 ServerAdmin postmaster@dummy-host.localhost |
NameViretualHost是启用基于名字的虚拟主机,若不配置该选项,则只有第一个VirtualHost的配置会生效。
DocumentRoot指向网站的根目录即可,需要注意的是,localhost是指向默认的DocumentRoot,但添加过vhost配置以后,这个配置会失效,所以我们也需要为localhost配置一个虚拟主机,方便本地的调试。继续添加下面的配置:
代码如下 | 复制代码 |
ServerAdmin webmaster@localhost DocumentRoot "D:/xampp/htdocs" ServerName localhost ErrorLog "logs/localhost-error.log" |
若有多个站点,多个IP,可以参照下面的配置:
代码如下 | 复制代码 |
Listen 80 # This is the "main" server running on 172.20.30.40 # This is the other address DocumentRoot /www/example1 # Other directives here ... DocumentRoot /www/example2 # Other directives here ... |
所有不是发送至172.20.30.50的请求都会转发到main server;发送到172.20.30.50的请求,如果HostName未知或者在HTTP报头中没有指定HostName,那么该请求会转发至www.example1.com处理。
配置好之后,重启Apache即可让配置生效。