是否可以将除 www 之外的所有子域重定向到特定目录?

是否可以将除 www 之外的所有子域重定向到特定目录?

我希望任何目录 *.example.com (bar.example.com、foo.example.com 等) 指向文件夹 /home/user/htdocs/subdir/

www.example.com 和 example.com 应该不受影响。

使用 htacecss 或其他途径可以实现吗?

答案1

您可以通过 Apache 配置设置两个虚拟主机来实现这一点。例如:

NameVirtualHost *:80

<VirtualHost *:80>
  DocumentRoot /home/user/htdocs
  ServerName www.example.com example.com
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot /home/user/htdocs/subdir
  ServerName *.example.com
</VirtualHost>

答案2

在 Apache 配置文件中声明 www.example.com 和 example.com 的指令后,您可以设置一个额外的VirtualHost条目,其中包含任何子域名ServerName和通配符,ServerAlias例如这样将每个子域名指向那里。

<VirtualHost *:80>
  DocumentRoot /home/user/htdocs/subdir
  ServerName foobar.example.com
  ServerAlias *.example.com
</VirtualHost>

注意:您必须声明一个服务器名称(任何名称都可以)

相关内容