Matcha plats baserat på filtillägg med NGINX
Publicerad: 15 februari 2025 kl. 01:17:32 UTC
Den här artikeln förklarar hur man gör mönstermatchning baserat på filtillägg i platssammanhang i NGINX, användbart för URL-omskrivning eller på annat sätt hantera filer på olika sätt beroende 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. Det kan eller kanske inte är giltigt för andra versioner.
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å när jag ska göra mer än det allra enklaste av mönstermatchning i till exempel NGINX:s platssammanhang .
En som är mycket användbar om du behöver hantera specifika filtyper annorlunda är möjligheten att matcha en plats baserat på filtillägget på den begärda filen. Och det är väldigt enkelt också, ditt platsdirektiv kan helt enkelt se ut så här:
{
// do something here
}
Naturligtvis kan du bara ändra tilläggen till vad du behöver.
Exemplet ovan är skiftlägesokänsligt (det kommer till exempel att matcha både .js och .JS). Om du vill att det ska vara skiftlägeskänsligt, ta bara bort * efter ~.
Vad du gör med matchen är upp till dig; vanligtvis skulle du skriva om det till en back-end som gör någon form av förbearbetning, eller så kanske du bara vill läsa filerna från andra mappar än vad det ser ut för allmänheten, möjligheterna är oändliga ;-)