
我在 CentOS 下的 apache 中設定子網域時似乎遇到了一個小問題。
我有以下內容:
NameVirtualHost *:80
<VirtualHost *>
ServerName www.domain.co.uk
ServerAlias domain.co.uk dev.domain.co.uk
DocumentRoot "/var/www/html/domain/web"
DirectoryIndex index.php
Alias /sf /var/www/html/symfony14/web/sf
<Directory "/var/www/html/domain/web">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
<Directory "/var/www/html/symfony14/web/sf">
AllowOverride All
Allow from All
</Directory>
<VirtualHost *>
ServerName test.domain.co.uk
DocumentRoot "/var/www/html/domain_test/web"
DirectoryIndex index.php
Alias /sf /var/www/html/symfony14/web/sf
<Directory "/var/www/html/domain_test/web">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
因此,請造訪 www.domain.co.uk 和 domain.co.uk 將顯示 /var/www/html/domain 中的內容,但造訪 test.domain.co.uk 也會顯示相同的資料夾內容。
這是因為嗎ServerAlias
?
謝謝
更新:
新增了缺少的指令NameVirtualHost *:80
答案1
答案2
好吧,它們應該顯示相同的內容,因為 DocumentRoot 是相同的。
我想對於測試域它應該是DocumentRoot "/var/www/html/domain_test/web"
而不是DocumentRoot "/var/www/html/domain/web"