windows 下 apache 的虚拟主机配置

本地开发环境试图配置2个站点:www.xxx.com 和 bbs.xxx.com

1、首先在 Windows\System32\drivers\etc 下找到 hosts 文件( win7 下为例),用记事本打开,加入一行

127.0.0.1 www.xxx.com  bbs.xxx.com



在浏览器输入这 2 个域名,都会试图打开本地 apache 服务器( 监听 80 端口)上的网页文件。

2个域名应该对应不同的站点,下面将在 apache 配置文件中设置虚拟站点并制定不同站点使用的域名,配置之后 apache 将根据不同域名将 url 解析到不同的站点下。

2、打开 apache 的配置文件 httpd.conf 所在的文件夹 ,如果你使用 xampp 搭建 php 和 mysql 的开发环境,可以在 xampp\apache\conf 文件夹内找到 httpd.conf 文件。

在该目录下找到 extra 文件夹并打开,如果没有则创建一个(为管理方便也可以自定义文件夹),

用刚记事本创建一个文件命名为 httpd-xxx.conf (自己随意,建议用站点名命名)。

假如你的站点文件路劲如下:

www 站点:E:\xxx\main\www

 bbs 站点 : E:\xxx\bbs\www

则 httpd-xxx.conf  文件内容如下:

NameVirtualHost *:80

Alias /wwwroot "E:\xxx"
<Directory "E:\xxx">
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>

#--------------------
<VirtualHost *:80>
DocumentRoot "E:\xxx\main\www"
ServerName www.xxx.com

<Directory "E:\xxx\main\www">
Options Indexes FollowSymLinks Includes
AllowOverride ALL
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "E:\xxx\bbs\www"
ServerName bbs.xxx.com

<Directory "E:\xxx\bbs\www">
Options Indexes FollowSymLinks Includes
AllowOverride ALL
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

3、打开apache\conf 内的 httpd.conf 文件,在末尾添加一句:

Include "conf/extra/httpd-xxx.conf "



该语句将httpd-xxx.conf 文件包含进 httpd.conf文件内,相当于合并配置文件。

4、重启 apache 使配置文件生效。

原文地址:https://www.cnblogs.com/ecalf/p/2336908.html