Miklix

Match placering baseret på filudvidelse med NGINX

Udgivet: 15. februar 2025 kl. 01.39.25 UTC
Sidst opdateret: 12. januar 2026 kl. 08.35.39 UTC

Denne artikel forklarer, hvordan man udfører mønstermatchning baseret på filtypenavne i lokationskontekster i NGINX, hvilket er nyttigt til URL-omskrivning eller anden håndtering af filer forskelligt baseret på deres type.


Denne side er blevet maskinoversat fra engelsk for at gøre den tilgængelig for så mange mennesker som muligt. Desværre er maskinoversættelse endnu ikke en perfekt teknologi, så der kan forekomme fejl. Hvis du foretrækker det, kan du se den originale engelske version her:

Match Location Based on File Extension with NGINX

Oplysningerne i dette indlæg er baseret på NGINX 1.4.6, der kører på Ubuntu Server 14.04 x64. Det kan være gyldigt for andre versioner, men det kan være ugyldigt.

Jeg er ikke særlig god til regulære udtryk (noget jeg nok burde arbejde på, jeg ved det), så jeg har ofte brug for at læse op på det, når jeg skal lave mere end den allersimpleste mønstermatchning i for eksempel NGINX's lokationskontekst.

En meget nyttig funktion, hvis du har brug for at håndtere specifikke filtyper forskelligt, er muligheden for at matche en placering baseret på filtypenavnet på den ønskede fil. Og det er også meget nemt, din placeringsdirektiv kan simpelthen se sådan ud:

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

Du kan selvfølgelig bare ændre udvidelserne, som du har brug for.

Ovenstående eksempel skelner ikke mellem store og små bogstaver (for eksempel vil det matche både .js og .JS). Hvis du vil have, at der skelnes mellem store og små bogstaver, skal du blot fjerne * efter ~.

Hvad du gør med matchen er op til dig; typisk ville du omskrive den til en backend, der udfører en form for forbehandling, eller du vil måske bare læse filerne fra andre mapper end dem, de ser ud til offentligheden, mulighederne er uendelige ;-)

Del på BlueskyDel på FacebookDel på LinkedInDel på TumblrDel på XDel på LinkedInFastgør på Pinterest

Mikkel Christensen

Om forfatteren

Mikkel Christensen
Mikkel er skaberen og ejeren af miklix.com. Han har over 20 års erfaring som professionel computerprogrammør/softwareudvikler og er i øjeblikket fuldtidsansat i en stor europæisk IT-virksomhed. Når han ikke blogger, bruger han sin fritid på en lang række interesser, hobbyer og aktiviteter, som i et vist omfang afspejles i de mange forskellige emner, der dækkes på dette websted.