Miklix

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

Publicado: 15 de fevereiro de 2025 às 01:11:12 UTC

Este artigo explica como fazer correspondência de padrões com base em extensões de arquivo em contextos de localização no NGINX, útil para reescrever URL ou manipular arquivos de forma diferente com base em 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 com expressões regulares (algo que eu provavelmente deveria trabalhar, eu sei), então frequentemente preciso ler sobre isso quando tenho que fazer mais do que a mais simples correspondência de padrões, por exemplo, no contexto de localização do NGINX.

Uma que é muito útil se você precisa lidar com tipos de arquivo específicos de forma diferente é a capacidade de corresponder a um local com base na extensão do arquivo solicitado. E é muito fácil também, sua diretiva location poderia simplesmente se parecer com isso:

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 faz distinção entre maiúsculas e minúsculas (por exemplo, ele corresponderá a .js e .JS). Se você quiser que ele faça distinção entre maiúsculas e minúsculas, basta remover o * depois do ~.

O que você faz com a correspondência é com você; normalmente, você a reescreve em um back-end que faz algum tipo de pré-processamento, ou você pode simplesmente querer ler os arquivos de outras pastas que não são aquelas que o público vê, as possibilidades são infinitas ;-)

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

Mikkel Bang Christensen

Sobre o autor

Mikkel Bang 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.