<VirtualHost *:80>
DocumentRoot "E:\work\phpStudy\WWW\ncpx\web"
ServerName ncpxceshi2.com ###主机名
ServerAlias *.ncpxceshi2.com ###范解析
<Directory "/">
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>php
dns解析的时候能够添加 a.ncpxceshi2.com c.ncpxceshi2.com 等等二级域名html
用途:伪静态的时候重写域名 好比sport.shop.com进入的运动页面 book.shop.com进入的是图书页面web
==============================================================================apache
需求: 在apache上配置两个项目,分别是项目a和项目b,a.baiye5.com访问项目a,其他的除了a前缀名以外的例如b2b.baiye5.com 、*.baiye5.com等都访问项目b。
首先在conf/httpd.conf中添加 NameVirtualHost *:80
在apache的目录conf下新建一个文件夹mysiteconf,而后再建立一个配置文件,如baiye5.com.conf,打开文件先配置a.baiye5.com的项目a,而后配置项目b,由于apache会按照顺序来执行这两个虚拟机的配置,若是先配置了项目b,那么项目a就没法访问了,假如a.baiye5.com,先执行上面的虚拟机配置,符合,因此就进入了项目b了。
如下时具体配置
<VirtualHost *:80>
ServerName a.baiye5.com
DocumentRoot /var/www/html/项目a
<Directory /var/www/html/项目a>
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName b2b.baiye5.com
ServerAlias *.baiye5.com
DocumentRoot /var/www/html/项目b
<Directory /var/www/html/项目b>
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
解释:
为何要配置到conf/mysiteconf/呢?
其实真正的配置文件是conf/httpd.conf文件,在该文件中插入一句话Include conf/mysiteconf/*.conf,这句话的意思时加载全部conf/mysiteconf/目录下以conf后缀的文件,这样作的目的是为了让apache的配置更加简洁,换言之,用户也能够直接在conf/httpd.conf内配置以上信息
ServerName: 域名,不支持通配符*
DocumentRoot: 项目根目录(rails项目的话,指定到public目录)
ServerAlias: 设定虚拟主机的別名,支持通配符*,这里时支持泛域名的访问
NameVirtualHost *:80 要和 VirtualHost *:80一致,以下
NameVirtual …(IP或域名)
<VirtualHost …(IP或域名,而且要与上面的保持绝对一致)>
….
</VirtualHost> ide