Verifique se a ordem de precedência nas diretivas de configuração corresponde ao modo como o Apache deve lidar com a solicitação, ou seja, você não terá muita sorte se as diretivas forem carregadas assim:
- example.com
- padrão / catch-all
- universal.lv
Não importa se eles são declarados em um único arquivo ou em vários arquivos - desde que "universal.lv" seja o último, ele não será alcançado porque o vhost padrão / catch-all o precederá.
Eu geralmente nomeio minha configuração padrão / catch-all "z-default.conf" (ou, se você tem um domínio que começa com um "z", "zz" ... etc) por esse motivo, para garantir que é processado somente se nenhum outro vhost corresponder.
Tente renomear de acordo.
Atualizado: para não confundir com a diretiva _default_
VirtualHost
Usando DNS curinga para direcionar todas as solicitações para example.com para o IP do servidor (captura subdomínios mal-intencionados), O Apache analisa os seguintes arquivos de configuração:
- 000-default.conf -
VirtualHost _default_:80
/ServerName <hostname>
- captura solicitações contra o IP do servidor (pode redirecionar para o domínio principal ou simplesmente bloquear com o padrãoDirectory
especificado emconf.d/security
) - example.conf -
VirtualHost *:80
/ServerName www.example.com
- example2.conf -
VirtualHost *:80
/ServerName www.example2.com
- zzz-example.conf -
VirtualHost *:80
/ServerName example.com
/ServerAlias *.example.com
- redireciona para o domínio www canônico - zzz-example2.conf -
VirtualHost *:80
/ServerName example2.com
/ServerAlias *.example2.com
- redireciona para o domínio www canônico
Conforme documentado, o Apache seleciona o primeiro VirtualHost correspondente (ou seja, _default_:80
), mas esse comportamento não é desejável se você estiver usando um curinga em uma diretiva ServerAlias
.