1.本地hosts
什么是本地hosts?我们知道访问一个域名,通过dns服务器得到该域名所指向的服务器ip地址,然后通过ip地址和服务器建立连接,完成剩下的事情。那么当开发过程中我们没有域名的时候如何才能模拟一个域名呢?答案就是hosts文件,一般开发环境都是在win下,所以这里就以win为例,玩linux的相信自己都能摸索到。
我们找到c:\windows\system32\drivers\etc\hosts文件,用记事本打开它,在末尾添加一行:
127.0.0.1 localhost.com
127.0.0.1 local.com
然后保存,现在当你访问xxx.com的时候,实际上指向的是127.0.0.1这个本地ip。
2.apache虚拟主机配置
假设apache安装在x:\apache ,那么先打开x:\apache\conf\httpd.conf,查找"Include conf/extra/httpd-vhosts.conf" 若前面有‘#’将其删掉,若没有这行语句,则手动添加。
接着到 x:\apache\conf\extra目录中找到或新建httpd-vhosts.conf文件,在末尾添加:
#指向localhost.com的地址的路径
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "D:\www"
ServerName localhost.com
ServerAlias www.localhost.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>
#指向local.com的地址的路径
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "D:\ww"
ServerName local.com
ServerAlias www.local.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>
重启Apache,在地址栏输入localhost.com显示D:/www的项目
输入local.com显示的是D:/ww的项目,Apache虚拟目录配置完成
为什么要添加两个<VirtruaHost>段呢?其实在该文件中有说明:
当开启虚拟主机功能的时候,所有请求都将进入<VirtruaHost>,而第一个<VirtruaHost>将作为默认处理配置,也就是说www.xxx.com将进入第二个<VirtruaHost>,而其他没匹配到的都将进入第一个<VirtruaHost>配置,如localhost系列。
虚拟主机到这里就简单的实现了,更多的配置选项这里没有列出来,诸君自己查手册吧。
有问题欢迎进裙 721200119 交流
楼主php很乐意为你解答开发者遇到的任何问题