Match plassering basert på filutvidelse med NGINX
Publisert: 15. februar 2025 kl. 01:09:05 UTC
Sist oppdatert: 13. september 2025 kl. 22:52:55 UTC
Denne artikkelen forklarer hvordan du gjør mønstersamsvar basert på filtyper i plasseringskontekster i NGINX, nyttig for URL-omskriving eller på annen måte håndtere filer annerledes basert på typen.
Match Location Based on File Extension with NGINX
Informasjonen i dette innlegget er basert på NGINX 1.4.6 som kjører på Ubuntu Server 14.04 x64. Det kan være gyldig for andre versjoner.
Jeg er ikke så god på regulære uttrykk (noe jeg nok burde jobbe med, jeg vet), så jeg må ofte lese meg opp på det når jeg skal gjøre mer enn den aller enkleste mønstermatching i for eksempel NGINX sin lokasjonskontekst .
En som er veldig nyttig hvis du trenger å håndtere spesifikke filtyper annerledes, er muligheten til å matche en plassering basert på filtypen til den forespurte filen. Og det er veldig enkelt også, plasseringsdirektivet ditt kan ganske enkelt se slik ut:
{
// do something here
}
Selvfølgelig kan du bare endre utvidelsene til det du trenger.
Eksemplet ovenfor skiller ikke mellom store og små bokstaver (det vil for eksempel samsvare med både .js og .JS). Hvis du vil at det skal skille mellom store og små bokstaver, fjerner du bare * etter ~.
Hva du gjør med fyrstikken er opp til deg; Vanligvis vil du skrive den om til en back-end som gjør en slags forbehandling, eller du vil kanskje bare lese filene fra andre mapper enn hvordan det ser ut for publikum, mulighetene er uendelige ;-)
