Apache Snow Leopard上的多个主机出现问题

时间:2011-03-11 01:09:20

标签: apache macos osx-snow-leopard virtualhost multiple-sites

我在Mac OS X(Snow Leopard)计算机上运行Apache。我希望能够设置多个主机名,以便我可以同时开发和测试多个站点,但我似乎无法让它工作。

这是我尝试过的:

在我的etc / hosts文件中,我设置了这些条目:

127.0.0.1    testsite1.localdev.com
127.0.0.1    testsite2.localdev.com

然后,在apache2 / httpd.conf中我添加了以下条目:

<VirtualHost *:80>
   DocumentRoot /Library/WebServer/Documents/www/development/testsite1
   ServerName testsite1.localdev.com
   <Directory "/Library/WebServer/Documents/www/development/testsite1">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

<VirtualHost *:80>
   DocumentRoot /Library/WebServer/Documents/www/development/testsite2
   ServerName testsite2.localdev.com
   <Directory "/Library/WebServer/Documents/www/development/testsite2">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

但恰好是两个主机名都解析为httpd.conf文件中列出的第一个主机名 - 在本例中为testsite1。如果我改变他们的位置,那么他们都会解决testsite2。

我也尝试更改读取*:80的区域,并将其替换为每个站点的特定主机名,但这没有效果。

我确定每次更改后都会重启apache。

感谢您的帮助!

加里

1 个答案:

答案 0 :(得分:1)

    /etc/apache2/httpd.conf中的
  • 取消注释vhost文件,如:

    # Virtual hosts
    Include /private/etc/apache2/extra/httpd-vhosts.conf
    
  • /private/etc/apache2/extra/httpd-vhosts.conf中的
  • 使用...

    #
    # Use name-based virtual hosting.
    #
    NameVirtualHost *:80
    
    <VirtualHost *:80>
        DocumentRoot "/Library/WebServer/Documents"
        ServerName localhost
    </VirtualHost>
    
    # local test site
    <VirtualHost *:80> 
      <Directory /Users/<youruser>/Sites/test>
        AllowOverride All 
      </Directory> 
      DocumentRoot "/Users/<youruser>/Sites/test"
      ServerName test.local
    </VirtualHost>
    
  • 确保您和站点文件夹的权限为755

并确保添加到/ etc / hosts文件...

# test
127.0.0.1   test.local