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.
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:
{
// 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 ;-)
