2012-01-06 77 views
0

我有一個輕微的apache問題。這可能是非常小的事情,我只是在看它。這是場景。我有兩個網站的Ubuntu 10.04服務器設置。在此之前,我有一個站點,並通過IP地址訪問它。我剛剛添加了第二個網站,這個網站帶有一個域名,並且我在網站的可用目錄中創建了一個新文件。並鏈接到啓用網站的目錄。Apache2:弄錯根目錄

的第一個網站(我通過IP訪問的一個)的配置看起來是這樣的:

#Default 
<VirtualHost *:80> 
    DocumentRoot /var/www 
......etc 

那麼其他的配置是這樣的:

#Secondary 
<VirtualHost TheDomainName.com:80> 
    DocumentRoot /var/www/thedomainname 
.......etc 

如果你們需要我發佈完整的配置文件,我會。爲什麼IP地址的請求會通過DomainName配置?是否因爲它們是相同的IP地址?我如何區分兩者?

如果我嘗試在第一個「默認」配置而不是「*」上設置IP地址,該網站只能正常工作,我永遠無法訪問另一個「輔助」網站。

謝謝。

回答

0

對於站點1:

<VirtualHost *:80> 
    ServerName oink.domain.com 
    DocumentRoot /var/www 
    ... 

佛[R站點2:除非你用name based virtual hosts

<VirtualHost *:80> 
    ServerName blah.domain.com 
    DocumentRoot /var/www/thedomainname 
    ... 
+0

訣竅是ServerName(和ServerAlias,如果你想爲同一個虛擬主機指定更多的別名)指令。定義的第一個虛擬主機將成爲所有其他站點/主機名/等的全部。指向它。 – 2012-01-06 20:58:57

+0

好的,謝謝,我在第二個指令中使用域名。我現在正在使用*來設置ServerName/ServerAlias。謝謝您的幫助! – 2012-01-06 21:08:36

1

您是否在虛擬主機指令中使用ServerName和ServerAlias?

<VirtualHost *:80> 
    ServerName www.domain.com 
    ServerAlias domain.com domain.net www.domain.net 

其他的東西,你可能這樣做,但更改

的httpd重新啓動後,重新啓動Apache的

(或類似的東西.. /etc/init.d/apache2重啓或lighttpd的,如果你正在使用)

1

不同的網站不能共享IP和端口組合。從本手冊的例子是這樣的:

NameVirtualHost *:80 

<VirtualHost *:80> 
ServerName www.domain.tld 
ServerAlias domain.tld *.domain.tld 
DocumentRoot /www/domain 
</VirtualHost> 

<VirtualHost *:80> 
ServerName www.otherdomain.tld 
DocumentRoot /www/otherdomain 
</VirtualHost> 

當您使用此功能,未知的域名映射到您的配置中找到的第一個<VirtualHost>