Você pode fazer o seguinte. Você pode definir a raiz com base na solicitação $ host.
localização / {
root / usr / local / $ host / www /;
}
Estou finalmente se afastando do Apache e tenho a última versão de desenvolvimento do nginx rodando em um Ubuntu 10.04 VPS totalmente atualizado. Eu tenho um único IP dedicado para a caixa (1.2.3.4), mas eu tenho dois domínios separados apontando para o servidor: www.example1.com e www.example2.net.
Gostaria de mapear as relações seguintes entre urls e raízes de documentos na configuração:
www.example1.com / example1.com -> /var/www/pub/example1.com/
subdomain.example1.com -> /var/www/dev/subdomain/example1.com/
www.example2.net / example2.net -> /var/www/pub/example2.net/
subdomain.example2.net -> /var/www/dev/subdomain/example2.net/
Onde o nome do subdomínio solicitado é uma pasta em / var / www / dev /. Idealmente, um pedido para um subdomínio inexistente (nenhuma pasta correspondente encontrada) resultaria em uma reescrita para o site público (por exemplo: invalid.example1.com - > www.example1.com), no entanto, um mero "404 não encontrado" não seria a pior coisa do mundo. Também seria bom se eu não precisasse modificar a configuração toda vez que eu criasse uma nova pasta de subdomínio - melhor ainda se eu não precisasse editá-la para um novo domínio ... mas agora estou ganancioso ...: p Embora em minha defesa, o Apache fez tudo isso com uma única diretiva.
Alguém sabe como eu posso imitar eficientemente esse comportamento no nginx?
Agradecemos antecipadamente
Peter Hanneman
Você pode fazer o seguinte. Você pode definir a raiz com base na solicitação $ host.
localização / {
root / usr / local / $ host / www /;
}
Tags nginx