Apache-2.2
Apache2 VirtualHosts 和萬用字元子域
有沒有辦法為單個域設置一個包羅萬象的(用於子域)虛擬伺服器,我有幾個預定義的子域。
IE:
webmail.example.com -> 指向“/var/web/roundcube”
beta.example.com -> 指向“/var/web/beta/”
example.com 和所有其他子域 -> 指向“/var/web/www”
<VirtualHost *:80> ServerName webmail.example.com ServerAdmin webmaster@example.com DocumentRoot /var/web/roundcube <Directory /var/web/roundcube/> ... </Directory> ... </VirtualHost> <VirtualHost *:80> ServerName beta.example.com ServerAdmin webmaster@example.com DocumentRoot /var/web/beta <Directory /var/web/beta/> ... </Directory> ... </VirtualHost> <VirtualHost *:80> ServerName example.com ServerAlias *.example.com ServerAdmin webmaster@example.com DocumentRoot /var/web/www <Directory /var/web/www/> ... </Directory> ... </VirtualHost>
這應該工作得很好,這絕對是做你想做的事情的正確方法!
在您的範例中,載入順序並不重要,因為這些虛擬主機涵蓋了您為其提供內容的所有域。
- 與 a 完全匹配的
ServerName
orServerAlias
將勝過萬用字元ServerAlias
,無論它們載入的順序如何。- 載入順序對於以任何方式不匹配任何
ServerName
orServerAlias
指令的請求(例如,在 URL 中使用 IP 而不是主機名)的請求很重要——這些請求將由第一個要載入的虛擬主機提供服務。