Miklix

Corresponder o local com base na extensão do arquivo com o NGINX

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

Este artigo explica como fazer correspondência de padrões com base em extensões de ficheiros em contextos de localização no NGINX, útil para reescrita de URLs ou para lidar com ficheiros de forma diferente consoante o seu tipo.


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

Match Location Based on File Extension with NGINX

A informação neste post baseia-se no NGINX 1.4.6 a correr no Ubuntu Server 14.04 x64. Pode ou não ser válida para outras versões.

Não sou muito bom com expressões regulares (algo em que provavelmente devia trabalhar, eu sei), por isso muitas vezes preciso de ler sobre isso quando tenho de fazer mais do que o mais simples de combinar padrões, por exemplo, no contexto de localização do NGINX.

Uma que é muito útil se precisares de lidar com tipos de ficheiros específicos de forma diferente é a capacidade de corresponder a uma localização com base na extensão do ficheiro solicitado. E é muito fácil também, a tua diretiva de localização pode simplesmente ser assim:

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

Claro que podes simplesmente mudar as extensões para o que precisares.

O exemplo acima é insensível a maiúsculas minúsculas (por exemplo, irá corresponder tanto .js como .JS). Se quiseres que seja sensível a maiúsculas e minúsculas, basta remover o * depois do ~.

O que fazes com o jogo depende de ti; Normalmente, reescreve-se para um back-end que faz algum tipo de pré-processamento, ou pode simplesmente querer ler os ficheiros de outras pastas em vez do que parecem para o público, as possibilidades são infinitas ;-)

Partilhar no BlueskyPartilhar no FacebookPartilhar no LinkedInPartilhar no TumblrPartilhar em XPartilhar no LinkedInFixar no Pinterest

Mikkel Christensen

Sobre o autor

Mikkel Christensen
Mikkel é o criador e proprietário do miklix.com. Tem mais de 20 anos de experiência como programador informático/desenvolvedor de software profissional e trabalha atualmente a tempo inteiro para uma grande empresa europeia de TI. Quando não está a escrever no blogue, dedica o seu tempo livre a um vasto leque de interesses, passatempos e actividades, que podem, em certa medida, refletir-se na variedade de tópicos abordados neste sítio Web.