前言
在开发的过程中可能同时需要运行几个网站,但是每次修改http.conf文件来修改网站根目录十分麻烦。
很早以前就知道了可以配置虚拟主机,这两天才找资料学习了这个,十分方便。
平台:windows 集成环境:xampp 其他环境应该也是类似。照着别人教程来的。链接在文末
大致思路
有一个根目录,然后下面放不同网站的文件夹,然后在浏览器中输入不同的网址来访问对应文件夹的网站。
1 2 3
| - Doucument Root - station A - station B
|
修改httpd.conf
下面代码框中的”//“及后面的内容在配置中需要去掉,配置文件中#才是注释符
文件目录 xampp => apache => httpd.conf
1.在文件夹中搜索httpd.conf
,找到如下字段
1 2
| # Virtual hosts Include conf/extra/httpd-vhosts.conf //确保此段开头没有#
|
2.在文件内搜索关键字“AllowOverride All”,找到如下字段
1 2 3 4 5 6 7 8 9 10 11 12 13
| <Directory "F:/xampp/cgi-bin"> AllowOverride All Options None Require all granted </Directory>
//修改为 <Directory "F:/xampp/cgi-bin"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order allow,deny Allow from all </Directory>
|
3.搜索字段“DocumentRoot”,如下。确保此处路径是你要访问的项目的根路径,然后将你需要使用的不同的网站文件夹放在这个目录下面即可。
4.如果想自定义配置端口,还是在此配置文件http.conf下搜索字段“Listen 80”,找到如下
1 2 3 4 5 6
| Listen 80 //在此添加你想监听的端口,如 Listen 80 Listen 8080 Listen 8099 ....
|
修改httpd-vhosts.conf
文件目录 xampp => apache =>conf => extra => httpd-vhosts.conf
文件最后面可看到如下
1 2 3 4 5 6 7
| ##<VirtualHost *:80> ##ServerAdmin webmaster@dummy-host2.example.com ##DocumentRoot "D:/xampp/htdocs/dummy-host2.example.com" ##ServerName dummy-host2.example.com ##ErrorLog "logs/dummy-host2.example.com-error.log" ##CustomLog "logs/dummy-host2.example.com-access.log" common ##</VirtualHost>
|
1.使用ip访问
1 2 3 4 5 6 7
| <VirtualHost 127.0.0.5:80>//设置访问的ip ##ServerAdmin webmaster@dummy-host2.example.com DocumentRoot "D:/xampp/htdocs"//你的项目文件目录 ServerName testname.dev//此项目的名称 ##ErrorLog "logs/dummy-host2.example.com-error.log" ##CustomLog "logs/dummy-host2.example.com-access.log" common </VirtualHost>
|
2.用ServerName访问,如果使用ServerName访问需要修改hosts配置文件
1 2 3 4 5 6 7
| <VirtualHost *:80> ##ServerAdmin webmaster@dummy-host2.example.com DocumentRoot "E:/php/stationA"//你的项目文件目录 ServerName testname.dev//此项目的名称,通过此名称来访问项目,还需配置hosts文件 ##ErrorLog "logs/dummy-host2.example.com-error.log" ##CustomLog "logs/dummy-host2.example.com-access.log" common </VirtualHost>
|
3.配置hosts文件
文件目录 C:\Windows\System32\drivers\etc\hosts
,在文件末尾加入
4.https的配置。
放一个https的配置,使用xampp自带的默认证书,第一次浏览器打开会提示有风险,选择忽略即可。
如果自己网站使用的话可以去腾讯云申请免费的https的证书–>腾讯云ssl证书链接
1 2 3 4 5 6 7 8
| <VirtualHost *:443> DocumentRoot "E:\php\stationA" ServerName localhost ServerAlias localhost SSLEngine on SSLCertificateFile "conf/ssl.crt/server.crt" SSLCertificateKeyFile "conf/ssl.key/server.key" </VirtualHost>
|
注:修改好配置文件之后记得在xampp的控制台重启Apache之后再进行访问。在浏览器中输入ServerName即可访问。
参考资料
xampp 配置多虚拟主机 详细步骤
xampp配置https访问