Apache-2.2

使用 VirtualHosts 了解子域的基礎知識

  • July 6, 2013

我想為我的網站創建兩個子域。為此,我在default可用站點下的文件中創建了三個虛擬主機(我在 Ubuntu 上使用 Apache):

<VirtualHost 127.0.0.1>
    ServerName nmagerko.me
    ...
    DocumentRoot /var/www
    ...
</VirtualHost>

<VirtualHost 127.0.0.1>
    ServerName sub1.nmagerko.me
    ...
    DocumentRoot /some/different/path
    ...
</VirtualHost>

<VirtualHost 127.0.0.1>
    ServerName sub2.nmagerko.me
    ...
    DocumentRoot /some/different/path2
    ...
</VirtualHost>

但是,我不確定在此之後該怎麼做。我的/etc/hosts文件中有每個子域和我的主域,並且我在域註冊商的域編輯器中127.0.0.1設置​​了 A 記錄。但是,這些 A 記錄指向與我的主域相同的 IP,因為這都託管在一個系統上……這不是很有用。因此,當我在瀏覽器中訪問時,我會收到與訪問時相同的網站。sub1``sub2``sub1.nmagerko.me``nmagerko.me

關於如何進行的任何建議?

嗯,您編寫的配置對我來說似乎是正確的,所以我將嘗試向您展示如何調試問題:

1- 確保 DNS 配置正確,正在執行dig nmagerko.medig sub1.nmagerko.me尋找dig sub2.nmagerko.meIP。用於wget X.nmagerko.me測試,瀏覽器可能正在記憶體 DNS 回复。

2- 確保/some/different/path,/var/www/some/different/pat2中的文件不同。

3-確保你重新啟動apache

sudo 服務 apache2 重啟

此外,您還可以查看日誌。

希望這有幫助。

引用自:https://serverfault.com/questions/521212