2015-02-08 42 views
0

我有一臺安裝了Apache的Linux服務器。我使用VirtualHost在其中配置了兩個站點。在apache中託管兩個不同的站點

我爲兩個不同的域名配置了兩個VirtualHosts。配置是這樣的:

<VirtualHost 12.123.123.123> 
    ServerAdmin [email protected] 
    ServerName example-one.com 
    ServerAlias www.example-one.com 
    DocumentRoot /var/www/html/example-one 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

<VirtualHost 12.123.123.123> 
    ServerAdmin [email protected] 
    ServerName example-two.com 
    ServerAlias www.example-two.com 
    DocumentRoot /var/www/html/example-two 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

當我訪問我的網站example-one.com,然後我看到正確的網站。

但是,當我訪問example-two.com,然後我看到example-one.com的網站。

我在做什麼錯?我試圖在同一個Apache服務器下託管這兩個不同的網站。

回答

1

你的httpd配置文件中有沒有NameVirtualHost指令?

這應該工作。請注意,如果http請求與任何其他VirtualHost塊不匹配,則第一個VirtualHost塊是默認塊。

爲了參考https://httpd.apache.org/docs/2.2/mod/core.html#namevirtualhost

NameVirtualHost *:80 
<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName example-one.com 
    ServerAlias www.example-one.com 
    DocumentRoot /var/www/html/example-one 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName example-two.com 
    ServerAlias www.example-two.com 
    DocumentRoot /var/www/html/example-two 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 
相關問題