1、XAMPP添加VirtualHost以支持多个站点
服务器有1个ip,但多个网站通过dns都可以指到这台服务器上,这时候要配置虚拟主机(单一系统上运行多个网站)
用顶级域名 访问方式 来访问你本地的项目,这时候就需要配置虚拟主机,给你的目录绑定一个域名,实现多域名绑定访问
xampp集成了apache之类的环境集成包,实现多域名是通过配置apache实现的
在apache http.conf中:
搜索 “Include conf/extra/httpd-vhosts.conf”,确保前面没有 # 注释符,也就是确保引入了 vhosts 虚拟主机配置文件
Listen 80
Listen 8080
Listen 8081
0
在虚拟主机设置文件中:
取消 NameVirtualHost *:80 前面的 ##,这样就启用了 vhosts.conf ,默认的httpd.conf默认配置失效。
虚拟主机配置将只设置在 httpd-vhosts.conf 里
<VirtualHost *:8080> //端口
DocumentRoot "D:/xampp/htdocs/a" //存放路径
ServerName www.a.com //域名
</VirtualHost>
<VirtualHost *:8081> //端口
DocumentRoot "D:/xampp/htdocs/b" //存放路径
ServerName www.b.com //域名
</VirtualHost>
有个问题,访问默认的localhost也会跳到a文件夹下,因为开启了 vhosts后,默认的 httpd 的配置就会失效了,默认的访问就指向到 vhosts 里的第一条设置去了,这时候要把 localhost的目录配置给设置回来
(这一段将localhost默认访问设置回来,将必须放在后面)
<VirtualHost *:80>
DocumentRoot /xampp/htdocs/
ServerName localhost
</VirtualHost>
1 NameVirtualHost *:80 2 # 3 # VirtualHost example: 4 # Almost any Apache directive may go into a VirtualHost container. 5 # The first VirtualHost section is used for all requests that do not 6 # match a ##ServerName or ##ServerAlias in any <VirtualHost> block. 7 8 <VirtualHost *:80> 9 DocumentRoot "E:/xampp/htdocs/b" 10 ServerName www.b.com 11 </VirtualHost> 12 13 <VirtualHost *:80> 14 DocumentRoot "E:/xampp/htdocs/a" 15 ServerName www.a.com 16 </VirtualHost> 17 18 <VirtualHost *:8080> 19 DocumentRoot "E:/xampp/htdocs/a" 20 ServerName localhost 21 </VirtualHost> 22 23 <VirtualHost *:8081> 24 DocumentRoot "E:/xampp/htdocs/b" 25 ServerName localhost 26 </VirtualHost> 27 28 <VirtualHost *:80> 29 DocumentRoot "E:/xampp/htdocs" 30 ServerName localhost 31 </VirtualHost>
在host文件中,修改域名映射
127.0.0.1 www.a.com
2、把apache等服务安装为系统服务,实现每次开机自启动(点击控制台服务器前面的x,安装apache服务)
3、 XAMPP集成包开启SSL(https)
大概86行 配置 DocumentRoot 和 ServerName ,改成自己定义的,如果没有更改默认配置的话就不用再配置了 (一般监听443端口)