Miklix

Shoda umístění na základě přípony souboru s NGINX

Vydáno: 15. února 2025 v 1:39:03 UTC

Tento článek vysvětluje, jak provádět porovnávání vzorů na základě přípon souborů v kontextu umístění v NGINX, což je užitečné pro přepisování URL nebo jiné zacházení se soubory odlišně na základě jejich typu.


Tato stránka byla strojově přeložena z angličtiny, aby byla přístupná co největšímu počtu lidí. Strojový překlad bohužel ještě není dokonalá technologie, takže může dojít k chybám. Pokud si přejete, můžete si prohlédnout původní anglickou verzi zde:

Match Location Based on File Extension with NGINX

Informace v tomto příspěvku jsou založeny na NGINX 1.4.6 běžícím na Ubuntu Server 14.04 x64. Může a nemusí platit pro jiné verze.

Nejsem tak dobrý v regulárních výrazech (něco, na čem bych měl pravděpodobně zapracovat, já vím), takže si to často potřebuji prostudovat, když musím udělat víc než to nejjednodušší z porovnávání vzorů, například v kontextu umístění NGINX.

Jedním, který je velmi užitečný, pokud potřebujete zacházet s určitými typy souborů odlišně, je schopnost porovnat umístění na základě přípony požadovaného souboru. A je to také velmi snadné, vaše direktiva pro umístění by mohla jednoduše vypadat takto:

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

Samozřejmě můžete změnit rozšíření na cokoliv, co potřebujete.

Výše uvedený příklad nerozlišuje velká a malá písmena (například bude odpovídat .js i .JS). Pokud chcete, aby se rozlišovala velká a malá písmena, stačí odstranit * za znakem ~.

Co se zápalkou uděláte, je na vás; obvykle byste to přepsali na back-end, který provádí nějaké předzpracování, nebo můžete jen chtít číst soubory z jiných složek, než jak to vypadá pro veřejnost, možnosti jsou nekonečné ;-)

Sdílet na BlueskySdílejte na FacebookuSdílet na LinkedInSdílet na TumblrSdílet na XSdílet na LinkedInPřipnout na Pinterest

Mikkel Bang Christensen

O autorovi

Mikkel Bang Christensen
Mikkel je tvůrcem a majitelem webu miklix.com. Má více než 20 let zkušeností jako profesionální programátor/vývojář softwaru a v současné době pracuje na plný úvazek pro velkou evropskou IT společnost. Pokud zrovna nepíše blog, věnuje svůj volný čas široké škále zájmů, koníčků a aktivit, což se může do jisté míry odrážet v rozmanitosti témat na tomto webu.