tl: dr: A não ser que eu esteja enganado, configurar aliases no servidor principal requer configurá-los separadamente em virtualhosts, caso contrário, o site principal será exibido devido a aliases, especialmente se você tiver aliased /
como eu tive. Não tenho 100% de certeza disso, mas faz sentido com base no que recebi.
Parece que resolvi usando esta definição para o virtualhost:
<IfDefine LANACCESS>
<VirtualHost ${LANIP}:${PORT}>
Alias "/" "${SRVROOT}/htdocs/phpinfo/"
# DocumentRoot ${SRVROOT}/htdocs/phpinfo
<Directory "${SRVROOT}/htdocs/phpinfo">
AllowOverride None
# Options -ExecCGI
Require ip 192.168.1
# DirectoryIndex phpinfo.php
</Directory>
Redirect 404 /info
Redirect 404 /status
ServerName ${LANIP}:${PORT}
</VirtualHost>
</IfDefine>
Anteriormente, o acesso seria registrado como passando pelo host virtual, mas serviria a página principal. Aliasing /
com o DocumentRoot
pretendido serve adequadamente a página pretendida. Directory
é necessário para definir as permissões apropriadas, caso contrário, parece herdar da definição Directory
anterior ou seguir os padrões ou algo assim. Portanto, se sua definição anterior de Directory
exigir alteração, faça isso.
DocumentRoot
aparentemente não tem efeito. Eu não sei porque, mas removê-lo da configuração principal parece não ter efeito também. Talvez a maneira como eu configure as coisas substitui isso.
Se você estiver usando Location
para itens como mod_info
ou caso contrário, use Redirect 404
para cancelar esses locais ou Require
para proibir o acesso, caso contrário, eles funcionarão normalmente, independentemente de qualquer diretiva Alias
configurou.
A menos que você configure Alias
es para o restante dos locais do servidor, os anteriores parecem estar inativos quando sobrescrevem /
ou, por algum outro motivo, não consigo descobrir.