Ujemanje lokacije na podlagi razširitve datoteke z NGINX
Objavljeno: 15. februar 2025 ob 1:17:18 dop. UTC
V tem članku je razloženo, kako narediti ujemanje vzorcev na podlagi datotečnih končnic v lokacijskih kontekstih v NGINX, kar je uporabno za prepisovanje URL-jev ali kako drugače ravnati z datotekami glede na njihovo vrsto.
Match Location Based on File Extension with NGINX
Informacije v tej objavi temeljijo na NGINX 1.4.6, ki se izvaja na strežniku Ubuntu Server 14.04 x64. Lahko velja ali ne velja za druge različice.
Nisem ravno dober v regularnih izrazih (nekaj, na čemer bi verjetno moral delati, vem), zato moram o tem pogosto prebrati, ko moram narediti več kot le najpreprostejše ujemanje vzorcev v na primer kontekstu lokacije NGINX.
Ena, ki je zelo uporabna, če morate drugače ravnati z določenimi vrstami datotek, je možnost ujemanja lokacije na podlagi pripone zahtevane datoteke. In to je tudi zelo enostavno, vaša lokacijska direktiva bi lahko preprosto izgledala takole:
{
// do something here
}
Seveda lahko preprosto spremenite razširitve na tisto, kar potrebujete.
Zgornji primer ne razlikuje med velikimi in malimi črkami (ujemal se bo na primer z .js in .JS). Če želite, da razlikuje med velikimi in malimi črkami, odstranite * za ~.
Kaj boste naredili z vžigalico, je odvisno od vas; običajno bi jo prepisali v zaledje, ki izvaja nekakšno predprocesiranje, ali pa bi morda samo želeli brati datoteke iz drugih map, kot je videti javnosti, možnosti je neskončno ;-)