![是否可以将除 www 之外的所有子域重定向到特定目录?](https://linux22.com/image/798316/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%B0%86%E9%99%A4%20www%20%E4%B9%8B%E5%A4%96%E7%9A%84%E6%89%80%E6%9C%89%E5%AD%90%E5%9F%9F%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%E7%89%B9%E5%AE%9A%E7%9B%AE%E5%BD%95%EF%BC%9F.png)
我希望任何目录 *.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>
注意:您必须声明一个服务器名称(任何名称都可以)