Matcha plats baserat på filtillägg med NGINX
Publicerad: 15 februari 2025 kl. 01:17:32 UTC
Senast uppdaterad: 12 januari 2026 kl. 08:35:52 UTC
Den här artikeln förklarar hur man gör mönstermatchning baserat på filändelser i platskontexter i NGINX, vilket är användbart för att skriva om URL:er eller på annat sätt hantera filer olika baserat på deras typ.
Match Location Based on File Extension with NGINX
Informationen i det här inlägget är baserad på NGINX 1.4.6 som körs på Ubuntu Server 14.04 x64. Den kan vara giltig för andra versioner, men inte nödvändigtvis.
Jag är inte så bra på reguljära uttryck (något jag nog borde jobba på, jag vet), så jag behöver ofta läsa på om det när jag måste göra mer än den allra enklaste mönstermatchning i till exempel NGINX:s platskontext.
En sak som är mycket användbar om du behöver hantera specifika filtyper på olika sätt är möjligheten att matcha en plats baserat på filändelsen på den begärda filen. Och det är väldigt enkelt också, din platsdirektiv kan helt enkelt se ut så här:
{
// do something here
}
Naturligtvis kan du bara ändra tilläggen till vad du vill.
Exemplet ovan är skiftlägeskänsligt (till exempel matchar det både .js och .JS). Om du vill att det ska vara skiftlägeskänsligt tar du bara bort * efter ~.
Vad du gör med matchningen är upp till dig; vanligtvis skriver du om den till en backend som gör någon form av förbehandling, eller så kanske du bara vill läsa filerna från andra mappar än vad de ser ut som för allmänheten, möjligheterna är oändliga ;-)
