就是说,我们放项目放在D盘,F盘,而不是默认的www文件夹下也可以访问。比如这里,我在
D:/PHP/work
放入的项目文件。
在httpd.conf加入:
(位置一般是在 </IfMoudule>这个标签下面)
#判断是否存在dir_module 这个模块 <IfModule dir_module> #设置欢迎界面 DirectoryIndex index.php index.html index.htm #配置别名,就是浏览器访问时用的。 localhost/ws Alias /ws "D:/PHP/work" <Directory "D:/PHP/work"> #权限,只针对当前的目录而言 Order allow,deny #允许所有人访问 Allow from all </Directory> </IfModule>
http://localhost/ws 就可以访问了。
2. 配置虚拟主机。
1: 还是httpd.conf这个文件。搜索“vhosts”
把include前的就#删掉。
include就是把那个文件包含进来。
2: 编辑apache2.2.22\conf\extra\httpd-vhosts.conf.
在最下面添加:
<VirtualHost 127.0.0.1:80> #你的网站目录 DocumentRoot "D:/PHP/work" #你网站的域名 ServerName www.gaotong2055.com ErrorLog "logs/dummy-host2.example.com-error.log" CustomLog "logs/dummy-host2.example.com-access.log" common #权限设置 Order allow,deny Allow from all </VirtualHost>
3: 修改windows hosts文件
首先,我们要明白为什么访问localhost就可以访问到我们的apache主页。
解析域名的时候,首先是从本地的hosts文件开始的。
如果查不到,才会去DNS服务器查询(这个就不多说了)。
如果你在这里面写一行:127.0.0.1 www.baidu.com
百度你是肯定上不了。因为访问的是你自己的机器。
hosts 就是一个映射(域名和IP的对应,localhost也可以说是一个域名)localhost -> 127.0.0.1
找到C:\WINDOWS\system32\drivers\etc\hosts ,修改如下
不多解释,这就是为什么计算机认识localhost的原因。
127.0.0.1 localhost 127.0.0.1 www.gaotong2055.com
还是httpd.conf 搜索:“DocumentRoot” 注释掉,修改为:
#DocumentRoot "c:/wamp/www/" DocumentRoot "D:/PHP/work"
www.gaotong2055.com , 就可以访问我们的网站了
PS:当然了,这个方法只适合自娱自乐了,只有在自己的机器上可以用www.gaotong2055.com来访问。
因为我们并没有注册域名什么的。 说白了,和用localhost访问是一样的。
3. 多域名配置。
就是一个主机IP , 有多个域名,每个域名要对应不同网站(注意:不是同一个网站)。
比如,我想在添加一个域名: www.gaotong.com 访问
D:/PHP/work2
这个项目。
方法1: 通过端口区分。
原理就是很据端口区分,apache是可以监听多端口的。这个方法就是在域名配置里面写个其它的端口。
方法2: 使用*配符 配置httpd-vhosts.conf
把原来的<VirtualHost 127.0.0.1:80> 改为<VirtualHost *:80>就可以了。
#域名1 <VirtualHost *:80> #你的网站目录 DocumentRoot "D:/PHP/work" #你网站的域名 ServerName www.gaotong2055.com ErrorLog "logs/dummy-host2.example.com-error.log" CustomLog "logs/dummy-host2.example.com-access.log" common Order allow,deny Allow from all </VirtualHost> #域名2 <VirtualHost *:80> #你的网站目录 DocumentRoot "D:/PHP/work2" #你网站的域名 ServerName www.gaotong.com ErrorLog "logs/dummy-host2.example.com-error.log" CustomLog "logs/dummy-host2.example.com-access.log" common Order allow,deny Allow from all </VirtualHost>