Miklix

Зіставте місцезнаходження на основі розширення файлу з NGINX

Опубліковано: 15 лютого 2025 р. о 01:18:07 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Закріпити на Pinterest

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

Про автора

Міккель Банг Крістенсен
Міккель - творець і власник сайту miklix.com. Він має понад 20 років досвіду роботи професійним програмістом/розробником програмного забезпечення і наразі працює на повну ставку у великій європейській ІТ-корпорації. У вільний від ведення блогу час він присвячує різноманітним інтересам, хобі та захопленням, що певною мірою відображається на різноманітності тем, які висвітлюються на цьому сайті.