Miklix

Uskladite lokaciju na osnovu ekstenzije datoteke sa NGINX-om

Objavljeno: 15. februar 2025. u 01:29:15 UTC

Ovaj članak objašnjava kako napraviti podudaranje uzoraka na osnovu ekstenzija datoteka u lokacijskim kontekstima u NGINX-u, što je korisno za prepisivanje URL-a ili drugačije rukovanje datotekama ovisno o njihovom tipu.


Ova stranica je mašinski prevedena sa engleskog kako bi bila dostupna što većem broju ljudi. Nažalost, mašinsko prevođenje još nije usavršena tehnologija, pa može doći do grešaka. Ako želite, možete pogledati originalnu englesku verziju ovdje:

Match Location Based on File Extension with NGINX

Informacije u ovom postu su zasnovane na NGINX 1.4.6 koji radi na Ubuntu Serveru 14.04 x64. Može, ali i ne mora biti važeće za druge verzije.

Nisam baš dobar u regularnim izrazima (nešto na čemu bih vjerovatno trebao poraditi, znam), tako da često moram da čitam o tome kada moram učiniti više od najjednostavnijeg uparivanja šablona u, na primjer, NGINX-ovom lokacijskom kontekstu.

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

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

Naravno, možete jednostavno promijeniti ekstenzije na ono što vam je potrebno.

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

Šta ćete uraditi sa šibicom zavisi od vas; obično biste ga prepisali u pozadinu koja radi neku vrstu predprocesiranja, ili možda želite samo da pročitate fajlove iz drugih foldera osim onoga kako to izgleda javnosti, mogućnosti su beskrajne ;-)

Podijelite na BlueskyPodijelite na FacebookuPodijelite na LinkedIn-uPodijelite na Tumblr-uPodijeli na XPodijelite na LinkedIn-uPrikači na Pinterest

Mikkel Bang Christensen

O autoru

Mikkel Bang Christensen
Mikkel je kreator i vlasnik miklix.com. Ima preko 20 godina iskustva kao profesionalni kompjuterski programer/programer softvera i trenutno je zaposlen sa punim radnim vremenom u velikoj evropskoj IT korporaciji. Kada ne piše blog, svoje slobodno vrijeme provodi na širokom spektru interesovanja, hobija i aktivnosti, što se u određenoj mjeri može odraziti na različite teme koje se obrađuju na ovoj web stranici.