Miklix

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

Vydáno: 15. února 2025 v 1:39:03 UTC
Poslední aktualizace: 12. ledna 2026 v 8:35:38 UTC

Tento článek vysvětluje, jak v NGINX provádět porovnávání vzorů na základě přípon souborů v kontextech umístění, což je užitečné pro přepisování URL adres nebo jiné zpracování souborů 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 Serveru 14.04 x64. Pro jiné verze mohou, ale nemusí být platné.

Nejsem moc dobrý v regulárních výrazech (což je něco, na čem bych asi měl zapracovat, vím), takže si o tom často musím něco přečíst, když musím udělat víc než jen to nejjednodušší porovnávání vzorů, například v kontextu umístění NGINX.

Velmi užitečná je možnost, pokud potřebujete s konkrétními typy souborů zacházet odlišně, a to přiřadit 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 vypadat jednoduše takto:

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

Rozšíření si samozřejmě můžete upravit podle potřeby.

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

Co s daným zápasem uděláte, je jen na vás; obvykle ho přepíšete do back-endu, který provádí nějaký druh předzpracování, nebo si soubory můžete jen přečíst z jiných složek, než jak je vidíte na veřejnosti, 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 Christensen

O autorovi

Mikkel 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.