Miklix

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.


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 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ì:

location ~* \.(js|css|html|txt)$
{
    // 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 ;-)

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

Mikkel Bang Christensen

Sull'autore

Mikkel Bang 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.