Miklix

Posizione di corrispondenza in base all'estensione del file con NGINX

Pubblicato: 15 febbraio 2025 alle ore 01:43:35 UTC
Ultimo aggiornamento: 12 gennaio 2026 alle ore 08:35:44 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.


Questa pagina è stata tradotta automaticamente dall'inglese per renderla accessibile al maggior numero di persone possibile. Purtroppo, la traduzione automatica non è ancora una tecnologia perfezionata, quindi possono verificarsi degli errori. Se preferite, potete consultare la versione originale in inglese qui:

Match Location Based on File Extension with NGINX

Le informazioni contenute in questo post si basano su NGINX 1.4.6 in esecuzione su Ubuntu Server 14.04 x64. Potrebbero essere valide anche per altre versioni.

Non sono molto bravo con le espressioni regolari (so che dovrei lavorarci su), 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 funzionalità molto utile se si desidera 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 direttiva di posizione potrebbe semplicemente apparire così:

location ~* \.(js|css|html|txt)$
{
    // do something here
}

Naturalmente puoi semplicemente modificare le estensioni in base alle tue esigenze.

L'esempio sopra non distingue tra maiuscole e minuscole (ad esempio, troverà corrispondenza sia con .js che con .JS). Se si desidera che distingua tra maiuscole e minuscole, è sufficiente rimuovere * 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 ;-)

Condividi su BlueskyCondividi su FacebookCondividi su LinkedInCondividi su TumblrCondividi su XCondividi su LinkedInAggiungi su Pinterest

Mikkel Christensen

Sull'autore

Mikkel Christensen
Mikkel è il creatore e proprietario di miklix.com. Ha oltre 20 anni di esperienza come programmatore di computer/sviluppatore di software ed è attualmente impiegato a tempo pieno in una grande azienda IT europea. Quando non scrive sul blog, dedica il suo tempo libero a una vasta gamma di interessi, hobby e attività, che in qualche modo si riflettono nella varietà di argomenti trattati in questo sito.