2012-05-11 66 views
1

我在設置我的apache2服務器上的第二個網站時遇到問題。 我目前有一個網站正在運行,它甚至活着。 但是我有另一個網站我正在努力,並試圖在本地託管它。 我創建了一個名爲newsite具有以下試圖設置第二個網站

<VirtualHost *:80> 
     ServerName newsite 
     ServerAdmin [email protected] 

    DocumentRoot /var/www/newsite/ 
    <Directory /> 
      Options FollowSymLinks 
      AllowOverride None 
    </Directory> 
    <Directory /var/www/newsite/> 
      Options Indexes FollowSymLinks MultiViews 
      AllowOverride None 
      Order allow,deny 
      allow from all 
    </Directory> 

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 
    <Directory "/usr/lib/cgi-bin"> 
      AllowOverride None 
      Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 
      Order allow,deny 
      Allow from all 
    </Directory> 

a2ensite newsite

啓用一個站點的可用文件編輯我的主機文件 127.0.0.1 www.newsite.com

我跑a2ensite newsite

現在,當我查看新的網站它工作正常, ,但是當我嘗試查看我的原始網站,我只得到新網站

如果我禁用新網站(a2dissite newsite)原網站顯示細膩

任何幫助,將不勝感激

+0

嘗試清除你的緩存並檢查 – Ananda

+0

請詳細說明 – zorlac

+0

清空瀏覽器chache並再次檢查。有一段時間是因爲舊的緩存文件發生的......特別是如果你使用的是chrome。 – Ananda

回答

0

我想你沒有正確設置你的ServerNameServerAlias指令。

爲您的虛擬主機,就應該是這樣的

ServerName newsite.com 
ServerAlias www.newsite.com 
ServerName oldsite.com 
ServerAlias www.oldsite.com 

什麼正在發生的事情是,你必須建立一個虛擬主機名爲newsite。如果你做http://newsite/:你會看到新網站,但是你正在做www.newsite.com。同樣,如果您的電子郵件地址http://oldsite/(假設它的設置方式相同),您也會看到oldsite。

當你做www.newsite.com時,你的DNS會指引你到loopback接口,但是,當apache獲取請求時,它不知道該怎麼做。所以它只是選擇一個。如果您只是通過IP嘗試訪問,這與之沒有什麼不同。

因此,解決方案是您撥打http://newsite/或修復您的ServerNameServerAlias指令。