Miklix

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.


Denne siden er maskinoversatt fra engelsk for å gjøre den tilgjengelig for så mange som mulig. Dessverre er maskinoversettelse ennå ikke en fullkommen teknologi, så det kan forekomme feil. Hvis du foretrekker det, kan du se den engelske originalversjonen her:

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:

location ~* \.(js|css|html|txt)$
{
    // 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 ;-)

Del på BlueskyDel på FacebookDel på LinkedInDel på TumblrDel på XDel på LinkedInFest på Pinterest

Mikkel Christensen

Om forfatteren

Mikkel Christensen
Mikkel er skaperen og eieren av miklix.com. Han har over 20 års erfaring som profesjonell dataprogrammerer/programvareutvikler og er for tiden ansatt på fulltid i et stort europeisk IT-selskap. Når han ikke blogger, bruker han fritiden sin på en lang rekke interesser, hobbyer og aktiviteter, noe som til en viss grad kan gjenspeiles i de mange ulike temaene som dekkes på dette nettstedet.