2011-03-11 50 views
0

我在我的Mac OS X(Snow Leopard)機器上運行Apache。我希望能夠設置多個主機名,以便我可以同時開發和測試多個站點,但似乎無法使其工作。在Apache Snow Leopard上遇到多個主機的問題

這是我已經試過:

在我的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。

感謝您的幫助!

加里

+0

FYI大家:我發現我需要這裏的答案:http://stackoverflow.com/questions/ 683891 /如何對修復 - 這 - 虛擬主機設置 – Gary 2011-03-16 00:17:24

回答

1
  • 在/etc/apache2/httpd.conf取消註釋,如虛擬主機文件:

    # 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