apache 子域名配置

apache 子域名配置

我在 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

尝试将其NameVirtualHost *:80 作为配置文件的第一行。

您可以通过以下方式配置子域名基于名称的虚拟主机httpd.conf 中的条目。要使用基于名称的虚拟主机,您必须指定将接受主机请求的服务器上的 IP 地址(可能还有端口)。这是使用名称虚拟主机指示。

有关详细信息,请参阅子域名配置

答案2

嗯,它们应该显示相同的内容,因为 DocumentRoot 是相同的。

我认为对于测试域来说它应该DocumentRoot "/var/www/html/domain_test/web"DocumentRoot "/var/www/html/domain/web"

相关内容