我们都知道localhost的访问就是对127.0.0.1的访问(这里在未对hosts文件夹做修改的情况下),问题的原因就在hosts上面,因为默认的hosts文件夹中localhost就是指向127.0.0.1域名下的,大家可以打开c:/windows/system32/drivers/etc/hosts看下就知道了.
这里我们要说的就是如何在apache下设置域名来访问我们网站根目录的不同文件夹,这就是虚拟主机的原理,虚拟主机提供商把一个盘分割成N多个文件夹,每个文件夹对应一个域名(这里的域名可是一级二级甚至更多),当然这里大小他们也是严格限定的,即使有出入也很小,然后把我们要求绑定的域名与ip连接起来,这里又存在是否备案的东西了,我们不多说,说白了我们购买的虚拟主机对应的就是他们的一个文件夹罢了.
废话说多了,下面开始搞定域名的配置
首先要有apache的环境
找到http.conf文件,这个文件就是apache的配置文件,打开这一项,#LoadModule vhost_alias_module modules/mod_vhost_alias.so,把前面的#去掉,这样我们就有了设置虚拟目录的权限,下一步是include vhost文件夹了,找到#Include conf/extra/httpd-vhosts.conf 还是去掉前面的#,它的意思是包含conf/extra文件夹下的httpd-vhosts.conf文件,再在这个文件中配置我们的目录.话说不已规矩不成方圆,所以写法上也要有一定的规范的.
好了,下面我们打开http-vhosts.conf文件
前面已经有两个实例了,复制一下,在下面粘贴
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot g:/
ServerName localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
</VirtualHost>
然后更改我们需要设置的东西,这里最主要设置两项,第一 DocumentRoot域名指定到的目录,第二个,ServerName这里添加我们要设置的域名,前提条件是这个目录要在我们http.conf的全局配置文件锁写的目录下,否则不生效(http.conf中叶存在一个DocumemtRoot属性).
下一步就是指定域名到对应的ip了,
c:/windows/system32/drivers/etc/hosts 打开添加 ip 域名
当我们输入域名在浏览器中,便找到了我们在vhost.文件夹下设定的那个目录.over