在具有现有有效子域名的域名上设置通配符捕获所有 VirtualHost

在具有现有有效子域名的域名上设置通配符捕获所有 VirtualHost

我正在尝试配置我的 Apache 实例以支持针对域的全面构造。

我希望根域(即:example.com 和所有 *.example.com)指向一个特定的 DocumentRoot。但是我有一个警告,我有现有的子域。即:sub1.example.com sub2.example.com 以及 sub1.something.example.com,它们具有不同的各自 DocumentRoot(除了以 sub1 开头的情况。(例如))

配置此功能的合理方法是什么?有可能吗?

答案1

Apache 将搜索对于 Host: 标头中提供的主机名,从第一个定义的 vhost 到最后一个定义的 vhost。将使用第一个匹配的 vhost。如果没有匹配,则将第一个定义的 vhost 用作默认 vhost。

您应该在定义 example.com 的 catchall 之前定义现有的虚拟主机。您最后定义的虚拟主机应该是您的默认虚拟主机。请记住服务器名称不能包含通配符服务器别名能。

相关内容