Miklix

Съпоставяне на местоположение въз основа на файлово разширение с NGINX

Публикувано: 15 февруари 2025 г. в 1:38:50 ч. UTC

Тази статия обяснява как да направите съпоставяне на шаблони въз основа на файлови разширения в контексти на местоположение в NGINX, полезно за пренаписване на URL адреси или по друг начин за обработка на файлове по различен начин въз основа на техния тип.


Тази страница е машинно преведена от английски език, за да бъде достъпна за възможно най-много хора. За съжаление машинният превод все още не е съвършена технология, така че могат да възникнат грешки. Ако предпочитате, можете да видите оригиналната версия на английски език тук:

Match Location Based on File Extension with NGINX

Информацията в тази публикация се базира на NGINX 1.4.6, работещ на Ubuntu Server 14.04 x64. Може или не може да е валидно за други версии.

Не съм чак толкова добър в регулярните изрази (нещо, върху което вероятно трябва да работя, знам), така че често ми се налага да чета за това, когато трябва да направя нещо повече от най-простото съпоставяне на шаблони в контекста на местоположението на NGINX например.

Едно, което е много полезно, ако трябва да обработвате определени типове файлове по различен начин, е възможността да съпоставите местоположение въз основа на разширението на искания файл. Освен това е много лесно, вашата директива за местоположение може просто да изглежда така:

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

Разбира се, можете просто да промените разширенията на каквото ви трябва.

Примерът по-горе не е чувствителен към главни и малки букви (например ще съвпадне както с .js, така и с .JS). Ако искате да е чувствителен към главни и малки букви, просто премахнете * след ~.

Какво ще направите с мача зависи от вас; обикновено го пренаписвате в бек-енд, който извършва някаква предварителна обработка, или може просто да искате да прочетете файловете от други папки, различни от това, което изглежда на обществеността, възможностите са безкрайни ;-)

Споделете в BlueskyСподелете във FacebookСподелете в LinkedInСподелете в TumblrСподелете в XСподелете в LinkedInЗакачи в Пинтерест

Микел Банг Кристенсен

За автора

Микел Банг Кристенсен
Микел е създател и собственик на сайта miklix.com. Той има над 20 години опит като професионален компютърен програмист/разработчик на софтуер и в момента работи на пълен работен ден в голяма европейска ИТ корпорация. Когато не пише в блога, той прекарва свободното си време в широк спектър от интереси, хобита и дейности, които до известна степен могат да бъдат отразени в разнообразието от теми, обхванати в този уебсайт.