Wampserver是由法国人开发,在windows环境下实现apache+mysql+php的一款集成环境软件。
目录
1、修改 Apache 配置文件 httpd-vhosts.conf
,增加一个站点
路径:d:\wamp\bin\apache\apache2.4.23\conf\extra\httpd-vhosts.conf
最底部增加/添加以下代码:
<VirtualHost *:80>
#服务器的名称和别名,别名可以不用加上www
ServerName www.test01.com
ServerAlias test01.com
#虚拟主机的文件根目录,项目的路径,Linux一般在/var/www/html下
DocumentRoot "${INSTALL_DIR}/www/test01/"
#打开站点/虚拟主机后,从左到右优先寻找并显示的文件页面,可自定义
DirectoryIndex index.php index.html index.htm Welcome.html
#权限设置,重要!
<Directory "${INSTALL_DIR}/www/test01/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
${INSTALL_DIR}
指的是 www 目录
,我的是d:/wamp
;
这样配置的意思是:网站 test01.com
指向 d:/wamp/www/test01
文件夹,
通俗点来说就是:在浏览器中输入 test01.com
,浏览器会到 d:/wamp/www/test01
目录下去找 DirectoryIndex
后面设定的文件,并优先渲染(从左到右)匹配到的文件;
DirectoryIndex 详解:
DirectoryIndex index.php index.html index.htm Welcome.html
上面这段代码代表的是:
Apache默认索引/打开(浏览器优先匹配)的文件是index.php
;Apache会根据DirectoryIndex
后面写的文件名,按从左到右的顺序在项目目录查找同名文件:
如果找到index.php
即加载index.php
,没有的话,继续往右查找是否有index.html
文件,有的话加载index.html
,没有的话继续往右查找,以此类推;
想匹配其他文件,需要修改DirectoryIndex
后面的文件夹名称,然后重启Apache;
2、确保 Apache 中 httpd-vhosts.conf
的配置被引用
由于httpd-vhosts.conf
是扩展文件,有些版本默认是被注释掉的。
打开httpd.conf
文件(d:\wamp\bin\apache\apache2.4.23\conf\httpd.conf)
找到 Include conf/extra/httpd-vhosts.conf
,去掉前面的#号
3、修改电脑本地hosts文件
路径:C:\Windows\System32\drivers\etc\hosts
hotst里面的域名要与第一步配置文件里面相对应!
ServerName
和ServerAlias
都要添加,原因请看本文底部的拓展;
4、在站点根目录(d:/wamp/www)下新建 test01/index.html文件
d:/wamp/www/test01/index.php
的内容只有:
hello world!
5、重启wamp让配置生效
修改了Wamp的配置文件 httpd-vhosts.conf
,必须重启wamp;
如果只是修改了本地的hosts
文件(C:\Windows\System32\drivers\etc\hosts),就不用重启wamp;
6、在浏览器输入域名/地址来访问本地项目
输入我们上面配置的地址: test01.com
,即可访问本地文件 d:/wamp/www/test01/index.php
要想 增加站点/虚拟主机 的话,重复上面的流程即可,注意Apache 的配置文件和hosts里面域名都得同时添加。
拓展:地址URL是怎么访问到网页的
在浏览器中输入地址URL访问网页的时候,其实就是找地址URL对应的ip的过程:
①输入URL后,浏览器会先在浏览器的缓存里面找地址对应的ip,
②找不到的话会去本地hosts文件中找地址对应的ip,
③再找不到的话才会去远程DNS中去找,DNS会根据地址进行解析,返回地址的ip,
只有找到ip后,浏览器才会跳转到该ip对应的页面;
举例小实验:
C:\Windows\System32\drivers\etc\hosts 里面增加一行代码:
127.0.0.1 www.baidu.com
然后浏览器访问:www.baidu.com
;将会访问失败