2010-06-11 62 views
2

下面是我的配置文件:ServerAlias www.example.com未認可

NameVirtualHost 12.34.56.78:80 

<VirtualHost 12.34.56.78:80> 
    ServerAdmin [email protected] 
    ServerName domain1.com 
    ServerAlias www.domain1.com 
    DocumentRoot /srv/www/domain1.com/public_html1/ 
    ErrorLog /srv/www/domain1.com/logs/error.log 
    CustomLog /srv/www/domain1.com/logs/access.log combined 
</VirtualHost> 

<VirtualHost 12.34.56.78:80> 
    ServerAdmin [email protected] 
    ServerName domain2.com 
    ServerAlias www.domain2.com 
    DocumentRoot /srv/www/domain2.com/public_html1/ 
    ErrorLog /srv/www/domain2.com/logs/error.log 
    CustomLog /srv/www/domain2.com/logs/access.log combined 
</VirtualHost> 

的事情是,當我把www.domain1.com到瀏覽器的Apache2不檢索網頁駐留在/srv/www/domain1.com/public_html1/,相反,它從另一個文件中定義的默認文檔根中獲取頁面。但是,如果我把www.domain2.com,一切工作正常。我沒有看到兩個VirtualHost配置塊之間的區別,所以我想知道是什麼影響了它。順便說一句,我沒有把任何.htaccess文件放在他們的文檔根目錄下。

回答

5

嘗試通過發出檢查你的Apache配置:

/usr/sbin目錄/ apache2ctl -S

我猜你的 「默認」 虛擬主機使用 「www.domain1.com」 爲ServerName,因此它響應「www.domain1.com」的請求。

在我的機器上,這是因爲「www.domain1.com」是我機器的主機名。如果未指定ServerName,Apache會嘗試猜測 - 導致上述問題。

我通過在sites-available/default中指定「ServerName default」來解決這個問題。

這可能是一些幫助,以及:

http://httpd.apache.org/docs/current/dns-caveats.html

+0

這是一個令人難以置信的難以發現的驚人工具。有關於apache認爲您的網站解決的這個簡單信息是驚人的。非常感謝。 – Joseph 2014-12-04 15:31:50

1

只想說,這抓住了我出去過,並改變了默認的Apache網站爲我工作的服務器名稱,如沒有簡單地禁用該網站使用

a2dissite默認

然後重裝了Apache。

+0

歡迎來到Stack Overflow!感謝您的發佈!請勿在您的帖子中使用簽名/標語。您的用戶箱計爲您的簽名,您可以使用您的個人資料發佈您喜歡的任何關於您自己的信息。 [關於簽名/標語的常見問題](http://stackoverflow.com/faq#signatures) – 2013-02-27 00:12:09

+0

它爲我工作。非常感謝 – migueloop 2013-08-19 16:34:05

2

如果您使用的是Windows,可能使用ZendSever,比你必須做下一個:在目錄

打開文件 「主機」, 「C:\ WINDOWS \ SYSTEM32 \ drivers \ etc下」

添加

127.0.0.1 www.domain1.com

127.0.0.1本地主機
127.0.0.1 domain1.com


它應該是這樣的:

127.0.0.1本地主機

127.0.0.1 domain1.com

127.0.0.1 www.domain1.com

127.0.0.1 domain2.com

127.0。0.1 www.domain2.com

127.0.0.1 domain3.com

127.0.0.1 www.domain3.com

所有域需要在這個文件中進行註冊。

相關問題