Miklix

Podudaranje lokacije na temelju ekstenzije datoteke s NGINX-om

Objavljeno: 15. veljače 2025. u 01:29:38 UTC

Ovaj članak objašnjava kako izvršiti podudaranje uzoraka na temelju datotečnih ekstenzija u kontekstu lokacije u NGINX-u, korisno za prepisivanje URL-ova ili drugačije rukovanje datotekama ovisno o njihovoj vrsti.


Ova je stranica strojno prevedena s engleskog kako bi bila dostupna što većem broju ljudi. Nažalost, strojno prevođenje još nije usavršena tehnologija pa se mogu pojaviti pogreške. Ako želite, izvornu englesku verziju možete pogledati ovdje:

Match Location Based on File Extension with NGINX

Informacije u ovom postu temelje se na NGINX 1.4.6 koji radi na Ubuntu Serveru 14.04 x64. Može, ali i ne mora vrijediti za druge verzije.

Nisam baš dobar u regularnim izrazima (nešto na čemu bih vjerojatno trebao poraditi, znam), pa često moram čitati o tome kada moram učiniti više od najjednostavnijeg podudaranja uzoraka u, na primjer, kontekstu lokacije NGINX-a.

Ono što je vrlo korisno ako trebate drugačije rukovati određenim vrstama datoteka je mogućnost podudaranja lokacije na temelju ekstenzije tražene datoteke. I vrlo je jednostavno, vaša direktiva o lokaciji mogla bi jednostavno izgledati ovako:

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

Naravno, možete samo promijeniti ekstenzije u ono što vam je potrebno.

Gornji primjer ne razlikuje velika i mala slova (na primjer, odgovarat će i .js i .JS). Ako želite da bude osjetljivo na velika i mala slova, samo uklonite * nakon ~.

Što ćete učiniti sa šibicom ovisi o vama; obično biste to prepisali u back-end koji radi neku vrstu predprocesiranja ili biste možda samo željeli čitati datoteke iz drugih mapa od onoga kako to izgleda javnosti, mogućnosti su beskrajne ;-)

Podijeli na BlueskyPodijelite na FacebookuPodijelite na LinkedInuPodijelite na TumblrPodijeli na XPodijelite na LinkedInuPrikvači na Pinterest

Mikkel Bang Christensen

O autoru

Mikkel Bang Christensen
Mikkel je kreator i vlasnik miklix.com. Ima više od 20 godina iskustva kao profesionalni računalni programer/razvijač softvera i trenutno je zaposlen na puno radno vrijeme za veliku europsku IT korporaciju. Kada ne piše blog, svoje slobodno vrijeme provodi na široku lepezu interesa, hobija i aktivnosti, što se u određenoj mjeri može odraziti na različite teme obrađene na ovoj web stranici.