• 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.22confextrahttpd-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:WINDOWSsystem32driversetchosts ,修改如下

    不多解释,这就是为什么计算机认识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

  • 相关阅读:
    sql知识
    铁道部新客票系统设计(三)
    PYTHON压平嵌套列表
    快速升级App支持iOS6及iPhone5的4寸屏幕
    TreeListView
    杭州ADC技术嘉年华两日总结SOA,去C
    .NET(C#): Task.Unwrap扩展方法和async Lambda
    关于分布式系统的数据一致性问题
    wcf 随笔1
    Linux进程基础
  • 原文地址:https://www.cnblogs.com/w-y-f/p/3489518.html
Copyright © 2020-2023  润新知