Apache虚拟主机(vhost)配置

先附上官方的examples: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
    DocumentRoot "D:/xampp/htdocs/example"
    ServerName www.example.com
    ErrorLog "logs/www.example.com-error.log"

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
ServerName server.domain.com
DocumentRoot /www/mainserver

# This is the other address
NameVirtualHost 172.20.30.50


DocumentRoot /www/example1
ServerName www.example1.com

# Other directives here ...




DocumentRoot /www/example2
ServerName www.example2.org

# Other directives here ...

所有不是发送至172.20.30.50的请求都会转发到main server;发送到172.20.30.50的请求,如果HostName未知或者在HTTP报头中没有指定HostName,那么该请求会转发至www.example1.com处理。

配置好之后,重启Apache即可让配置生效。

 

来自:http://www.lfyzjck.com/apache-vhost-config/

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。