Iniciante Fundamentos
Blocos location
O bloco location define regras para caminhos de URL específicos. É dentro dele que você controla como cada parte do site é tratada.
Match por prefixo
O tipo mais comum combina pelo começo da URL:
location /imagens/ {
root /var/www/midia;
}
Tudo que começa com /imagens/ cai aqui.
Match exato (=)
O sinal = exige correspondência exata da URL:
location = /favicon.ico {
log_not_found off;
}
Só /favicon.ico combina, nada mais.
Match por expressão regular (~)
Use ~ para regex sensível a maiúsculas e ~* para ignorar maiúsculas:
location ~* \.(jpg|png|gif)$ {
expires 30d;
}
Esse bloco combina qualquer URL que termine com essas extensões de imagem.
Ordem de prioridade
O Nginx escolhe o location nesta ordem:
- Match exato
=. - Prefixo mais longo com
^~. - Expressões regulares
~e~*, na ordem em que aparecem. - O prefixo mais longo restante.
Resumo
O location direciona URLs para regras. Há match por prefixo, exato com = e por regex com ~. Conhecer a ordem de prioridade evita surpresas na escolha do bloco.