虚拟主机 (Virtual Host) 是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的 IP 和端口, 也可让多个网站拥有不同的域名.
Apache 是世界上使用最广的 Web 服务器, 从 1.1 版开始支持虚拟主机. 下面说明在Windows上使用 Apache 搭建虚拟主机来搭建多个网站.
1.打开apache的httpd.conf文件,找到
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
把Include conf/extra/httpd-vhosts.conf前面的"#"去掉。
2 .打开目录 {Apache2 安装目录}\conf\extra\, 找到 httpd-vhosts.conf 文件.仿照例子, 添加一段代码来指定某一域名的网站
# ServerAdmin 是管理员的邮箱
# DocumentRoot 是网站文件存放的根目录
# ServerName 是网站域名, 需要跟 DNS 指向的域名一致
#
<VirtualHost 127.0.0.2:>
ServerAdmin @qq.com
DocumentRoot "D:/PHP_Env/Apache/htdocs/PlantsEncyclopedia"
ServerName web.0324test.com
<Directory "D:/PHP_Env/Apache/htdocs/PlantsEncyclopedia">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex index.php
</Directory>
ErrorLog "logs/demo.neoease.com-error.log"
CustomLog "logs/demo.neoease.com-access.log" common
</VirtualHost>
3.重启Apache(这一步很重要,别忘了)
4.修改位于c:/windows/system32/drivers/etc/目录下的hosts文件
增加一段:127.0.0.2 web.0324test.com(你用来访问的域名)
这样就配置成功了,下面的跟配置虚拟主机目录无关
设置项目的默认访问目录
<Directory "D:/PHP_Env/Apache/htdocs/PlantsEncyclopedia">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex index.php
</Directory>
OK,设置成功,访问 web.0324test.com 或者127.0.0.2即可