Locatie matchen op basis van bestandsextensie met NGINX
Gepubliceerd: 15 februari 2025 om 01:09:54 UTC
In dit artikel wordt uitgelegd hoe u patroonherkenning kunt toepassen op basis van bestandsextensies in locatiecontexten in NGINX. Dit is handig voor het herschrijven van URL's of voor het op een andere manier anders verwerken 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 dat draait op Ubuntu Server 14.04 x64. Het kan wel of niet geldig zijn 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 me er vaak in verdiepen als ik meer moet doen dan de meest eenvoudige patroonherkenning in bijvoorbeeld de locatiecontext van NGINX.
Eentje die erg handig is als u specifieke bestandstypen anders wilt afhandelen, is de mogelijkheid om een locatie te matchen op basis van de extensie van het gevraagde bestand. En het is ook erg makkelijk, uw locatierichtlijn zou er gewoon zo uit kunnen zien:
{
// do something here
}
Uiteraard kunt u de extensies naar wens wijzigen.
Het bovenstaande voorbeeld is hoofdlettergevoelig (het komt bijvoorbeeld overeen met .js en .JS). Als u wilt dat het hoofdlettergevoelig is, verwijdert u gewoon de * na de ~.
Wat u met de match doet, is aan u. Normaal gesproken schrijft u de match over naar een back-end die een soort van pre-processing uitvoert, maar u kunt er ook voor kiezen om de bestanden gewoon uit andere mappen te lezen dan die waarvan het publiek ze ziet. De mogelijkheden zijn eindeloos ;-)