Miklix

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

Опубліковано: 15 лютого 2025 р. о 01:18:07 UTC
Останнє оновлення: 12 січня 2026 р. о 08:35:53 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 років досвіду роботи професійним програмістом/розробником програмного забезпечення і наразі працює на повну ставку у великій європейській ІТ-корпорації. У вільний від ведення блогу час він присвячує різноманітним інтересам, хобі та захопленням, що певною мірою відображається на різноманітності тем, які висвітлюються на цьому сайті.