Miklix

Corresponder localização com base na extensão do arquivo com NGINX

Publicado: 15 de fevereiro de 2025 às 01:11:12 UTC
Última atualização: 12 de janeiro de 2026 às 08:35:48 UTC

Este artigo explica como realizar a correspondência de padrões com base em extensões de arquivo em contextos de localização no NGINX, útil para reescrita de URLs ou para lidar com arquivos de forma diferenciada de acordo com seu tipo.


Esta página foi traduzida automaticamente do inglês para torná-la acessível ao maior número possível de pessoas. Infelizmente, a tradução automática ainda não é uma tecnologia aperfeiçoada, portanto, podem ocorrer erros. Se preferir, você pode visualizar a versão original em inglês aqui:

Match Location Based on File Extension with NGINX

As informações neste post são baseadas no NGINX 1.4.6 rodando no Ubuntu Server 14.04 x64. Elas podem ou não ser válidas para outras versões.

Não sou muito bom em expressões regulares (algo que provavelmente deveria melhorar, eu sei), então frequentemente preciso pesquisar sobre o assunto quando tenho que fazer algo além da correspondência de padrões mais simples, por exemplo, no contexto de localização do NGINX.

Uma funcionalidade muito útil, caso precise lidar com tipos de arquivo específicos de forma diferenciada, é a capacidade de encontrar um local com base na extensão do arquivo solicitado. E é muito fácil também; sua diretiva de localização poderia ser algo como:

location ~* \.(js|css|html|txt)$
{
    // do something here
}

Claro, você pode simplesmente alterar as extensões para o que precisar.

O exemplo acima não diferencia maiúsculas de minúsculas (por exemplo, ele corresponderá tanto a .js quanto a .JS). Se você quiser que ele diferencie maiúsculas de minúsculas, basta remover o * depois do ~.

O que você fizer com a correspondência depende de você; normalmente, você a reescreveria para um back-end que faça algum tipo de pré-processamento, ou você pode simplesmente querer ler os arquivos de pastas diferentes daquelas que são visíveis ao público, as possibilidades são infinitas ;-)

Compartilhe no BlueskyCompartilhe no FacebookCompartilhe no LinkedInCompartilhe no TumblrCompartilhar em XCompartilhe no LinkedInFixar no Pinterest

Mikkel Christensen

Sobre o autor

Mikkel Christensen
Mikkel é o criador e proprietário do miklix.com. Ele tem mais de 20 anos de experiência como programador de computador/desenvolvedor de software profissional e atualmente trabalha em tempo integral para uma grande empresa europeia de TI. Quando não está blogando, ele dedica seu tempo livre a uma grande variedade de interesses, hobbies e atividades, o que pode, até certo ponto, refletir-se na variedade de tópicos abordados neste site.