知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

在 Apache2.2.23 上通过 httpd.conf 配置虚拟主机

发布时间:2014-09-05 15:32:23作者:知识屋

   虚拟主机不要放在一个共同的端口,否则默认情况下只进入每一个虚拟主机目录。

    ServerRoot "/var/lib/apache2.2"

    DocumentRoot "/var/lib/apache2.2/htdocs"

    ErrorLog "logs/error_log"

    # apache 解析 .php 文件
    <FilesMatch /.php$>
        SetHandler application/x-httpd-php
    </FilesMatch>

    # myproject.com

    Listen 192.168.55.9:80

    <VirtualHost *:80>
         DocumentRoot /var/lib/apache2.2/htdocs/myproject
         ServerName myproject.com
         # ScriptAlias /cgi-bin/ "/var/lib/apache2.2/htdocs/myproject/cgi-bin/"
    </VirtualHost>

  
    # myproject1.com

   Listen 192.168.55.9:81

    <VirtualHost *:81>
         DocumentRoot /var/lib/apache2.2/htdocs/myproject1
         ServerName myproject1.com
         # ScriptAlias /cgi-bin/ "/var/lib/apache2.2/htdocs/myproject1/cgi-bin/"
    </VirtualHost>

   

   而我们在客户端的hosts文件里面也需要做IP映射,即:

   192.168.55.9 myproject.com

   192.168.55.9  myproject1.com

    但是我们不需要在服务器端的hosts里面做IP映射。

   实际上我们做请求时,还是用80端口来响应。

   

    经测试,上面这种做法存在一个问题:即使是通过 myproject1.com 来访问,进入的还是 myproject.com 。

    改为下面的可正常跳转:

    ServerRoot "/var/lib/apache2.2"

    DocumentRoot "/var/lib/apache2.2/htdocs"

    ErrorLog "logs/error_log"
    <FilesMatch /.php$>
        SetHandler application/x-httpd-php
    </FilesMatch>

    NameVirtualHost *:80

    Listen 192.168.55.9:80

    # myproject.com  

    <VirtualHost *:80>
         DocumentRoot /var/lib/apache2.2/htdocs/myproject
         ServerName myproject.com
         # ScriptAlias /cgi-bin/ "/var/lib/apache2.2/htdocs/myproject/cgi-bin/"
    </VirtualHost>

    # myproject1.com

    <VirtualHost *:80>
         DocumentRoot /var/lib/apache2.2/htdocs/myproject1
         ServerName myproject1.com
         # ScriptAlias /cgi-bin/ "/var/lib/apache2.2/htdocs/myproject1/cgi-bin/"
    </VirtualHost>

   

  

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜