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

Este artigo explica como fazer a correspondência de padrões com base nas extensões de arquivo em contextos de localização no NGINX, útil para reescrever URLs ou tratar arquivos de forma diferente com base em 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

As informações neste post são baseadas no NGINX 1.4.6 em execução 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 em que eu provavelmente deveria trabalhar, eu sei), então frequentemente preciso ler sobre elas quando preciso fazer mais do que a mais simples correspondência de padrões, por exemplo, no contexto de localização do NGINX.

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

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

Claro que pode alterar as extensões para o que precisar.

O exemplo acima é insensível a maiúsculas e minúsculas (por exemplo, ele corresponderá tanto a .js quanto a .JS). Se quiser que seja sensível a maiúsculas e minúsculas, basta remover o * após o ~.

O que fazer com a correspondência é consigo; normalmente, reescreve-a para um back-end que faz algum tipo de pré-processamento, ou pode apenas querer ler os ficheiros de outras pastas que não as que parecem ao público, as possibilidades são infinitas ;-)

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

Mikkel Bang Christensen

Sobre o autor

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