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.
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:
{
// 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é ;-)