虚拟目录配置
就是说,我们放项目放在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>
重启apache
http://localhost/ws 就可以访问了。
配置虚拟主机
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
4、最后别忘了修改我们的DocumentRoot
还是httpd.conf 搜索:“DocumentRoot” 注释掉,修改为:
#DocumentRoot "c:/wamp/www/"
DocumentRoot "D:/PHP/work"
现在输入:
www.gaotong2055.com , 就可以访问我们的网站了
PS:当然了,这个方法只适合自娱自乐了,只有在自己的机器上可以用www.gaotong2055.com来访问。
因为我们并没有注册域名什么的。 说白了,和用localhost访问是一样的。
多域名配置
就是一个主机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>