我試圖在我的 CentOS6 伺服器上的 apache 中設定一個虛擬主機來處理子網域的查詢。
假設我有網域名稱“example.com”。現在,我想建立子網域 test.example.com,它提供除主網域之外的另一個 html 頁面。
我已經搜尋了一些說明來做到這一點,特別是在 apache.org 上,有很多,但沒有人工作。
問題是:每當我在瀏覽器中造訪 test.example.com 時,儘管 DocumentRoot 指向另一個目錄,但我都會看到 example.com 提供的主頁。
我什至嘗試了一個最小的 httpd 配置文件,只包含以下程式碼,但沒有成功。
Listen 80
<VirtualHost *:80>
ServerName example.com
DocumentRoot /www/main
</VirtualHost>
<VirtualHost *:80>
ServerName test.example.com
DocumentRoot /www/test
</VirtualHost>
您知道問題出在哪裡嗎?
答案1
更改順序,test.example.com
VirtualHost
在前面(之前)進行example.com
VirtualHost
,然後重新啟動httpd
服務。
Listen 80
NameVirtualHost *:80
<VirtualHost _default_:80>
</VirtualHost>
<VirtualHost _default_:80>
ServerName test.example.com
DocumentRoot /www/test
</VirtualHost>
<VirtualHost _default_:80>
ServerName example.com
DocumentRoot /www/main
</VirtualHost>