Posizione di corrispondenza in base all'estensione del file con NGINX
Pubblicato: 15 febbraio 2025 alle ore 01:43:35 UTC
Questo articolo spiega come effettuare il pattern matching in base alle estensioni dei file nei contesti di posizione in NGINX, utile per la riscrittura degli URL o per gestire i file in modo diverso in base al loro tipo.
Match Location Based on File Extension with NGINX
Le informazioni in questo post si basano su NGINX 1.4.6 in esecuzione su Ubuntu Server 14.04 x64. Potrebbero essere valide o meno per altre versioni.
Non sono molto bravo con le espressioni regolari (so che dovrei approfondire l'argomento), quindi spesso ho bisogno di documentarmi quando devo fare qualcosa di più del più semplice pattern matching, ad esempio nel contesto della posizione di NGINX.
Una cosa molto utile se devi gestire in modo diverso specifici tipi di file è la possibilità di abbinare una posizione in base all'estensione del file richiesto. Ed è anche molto semplice, la tua direttiva di posizione potrebbe semplicemente apparire così:
{
// do something here
}
Naturalmente puoi semplicemente modificare le estensioni in base alle tue esigenze.
L'esempio sopra è case-insensitive (ad esempio, corrisponderà sia a .js che a .JS). Se vuoi che sia case-sensitive, rimuovi semplicemente * dopo ~.
Sta a te decidere cosa fare con la partita; in genere, la riscriveresti in un back-end che esegue una sorta di pre-elaborazione, oppure potresti semplicemente voler leggere i file da cartelle diverse da quelle che appaiono al pubblico, le possibilità sono infinite ;-)