Miklix

Locatie matchen op basis van bestandsextensie met NGINX

Gepubliceerd: 15 februari 2025 om 01:09:54 UTC
Laatst bijgewerkt: 12 januari 2026 om 08:35:47 UTC

Dit artikel legt uit hoe je in NGINX patroonherkenning kunt toepassen op basis van bestandsextensies in locatiecontexten. Dit is handig voor het herschrijven van URL's of het anders behandelen van bestanden op basis van hun type.


Deze pagina is machinaal uit het Engels vertaald om hem voor zoveel mogelijk mensen toegankelijk te maken. Helaas is machinevertaling nog geen geperfectioneerde technologie, dus er kunnen fouten optreden. Als je dat liever hebt, kun je hier de originele Engelse versie bekijken:

Match Location Based on File Extension with NGINX

De informatie in dit bericht is gebaseerd op NGINX 1.4.6 draaiend op Ubuntu Server 14.04 x64. Deze informatie is mogelijk niet geldig voor andere versies.

Ik ben niet zo goed in reguliere expressies (iets waar ik waarschijnlijk aan zou moeten werken, dat weet ik), dus ik moet er vaak meer over opzoeken als ik meer moet doen dan de aller eenvoudigste patroonherkenning, bijvoorbeeld in de locatiecontext van NGINX.

Een handige functie, bijvoorbeeld als je specifieke bestandstypen anders wilt behandelen, is de mogelijkheid om een locatie te matchen op basis van de extensie van het gevraagde bestand. En het is ook nog eens heel eenvoudig: je locatie-instructie zou er bijvoorbeeld zo uit kunnen zien:

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

Uiteraard kunt u de extensies gewoon aanpassen aan uw behoeften.

Het bovenstaande voorbeeld is niet hoofdlettergevoelig (het komt bijvoorbeeld overeen met zowel .js als .JS). Als u wilt dat het wel hoofdlettergevoelig is, verwijdert u de * na de ~.

Wat je met de match doet, is aan jou; meestal herschrijf je de code naar een back-end die een soort voorbewerking uitvoert, of je wilt de bestanden misschien gewoon uit andere mappen lezen dan waar ze voor het publiek te zien zijn. De mogelijkheden zijn eindeloos ;-)

Delen op BlueskyDelen op FacebookDelen op LinkedInDelen op TumblrDelen op XDelen op LinkedInPin op Pinterest

Mikkel Christensen

Over de auteur

Mikkel Christensen
Mikkel is de bedenker en eigenaar van miklix.com. Hij heeft meer dan 20 jaar ervaring als professioneel computerprogrammeur/softwareontwikkelaar en werkt momenteel fulltime voor een groot Europees IT-bedrijf. Als hij niet blogt, besteedt hij zijn vrije tijd aan een breed scala aan interesses, hobby's en activiteiten, die tot op zekere hoogte weerspiegeld kunnen worden in de verscheidenheid aan onderwerpen op deze website.