Potriviți locația pe baza extensiei de fișier cu NGINX
Publicat: 15 februarie 2025 la 01:11:42 UTC
Ultima actualizare: 12 ianuarie 2026 la 08:35:49 UTC
Acest articol explică cum se face potrivirea de șabloane pe baza extensiilor de fișiere în contexte de locație în NGINX, util pentru rescrierea URL-urilor sau pentru gestionarea diferită a fișierelor în funcție de tipul lor.
Match Location Based on File Extension with NGINX
Informațiile din această postare se bazează pe NGINX 1.4.6 care rulează pe Ubuntu Server 14.04 x64. Este posibil să fie sau nu valabile pentru alte versiuni.
Nu mă pricep prea bine la expresii regulate (știu că ar trebui să lucrez la ele), așa că de multe ori trebuie să citesc despre ele atunci când trebuie să fac mai mult decât cea mai simplă potrivire de șabloane, de exemplu în contextul de locație al NGINX.
Un aspect foarte util dacă trebuie să gestionați diferit anumite tipuri de fișiere este posibilitatea de a potrivi o locație pe baza extensiei fișierului solicitat. Și este foarte simplu, directiva dvs. de locație ar putea arăta pur și simplu astfel:
{
// do something here
}
Desigur, poți schimba extensiile după cum dorești.
Exemplul de mai sus nu ține cont de majuscule/minuscule (de exemplu, va potrivi atât .js, cât și .JS). Dacă doriți să țină cont de majuscule/minuscule, eliminați pur și simplu * după ~.
Ce faci cu potrivirea depinde de tine; de obicei, ai rescrie-o într-un backend care face un fel de preprocesare sau poate vrei doar să citești fișierele din alte foldere decât cele afișate publicului, posibilitățile sunt nelimitate ;-)
