apache php配置 虚拟目录 和 虚拟主机 多域名配置 原理解析

虚拟目录配置

就是说,我们放项目放在D盘,F盘,而不是默认的www文件夹下也可以访问。比如这里,我在

  1. 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>  

 

http://blog.csdn.net/gladyoucame/article/details/8555287

posted on 2013-12-24 18:14  ※WYF※  阅读(6744)  评论(0编辑  收藏  举报