Назад | Перейти на главную страницу

Как обслуживать определенные статические файлы с помощью nginx?

У меня есть вопросы вроде /api/lang?lang=en который я хочу использовать с nginx как /server/i18n-angular/en.json. Как я могу это сделать?

У меня следующая структура каталогов:

/public/
/server/i18n-angular/en.json

У меня следующая конфигурация, но nginx говорит, что в этот момент использовать директиву index неправильно.

server {
  root /public
  ...
  location /api/lang {
    if ($args ~* "\?lang=(.+)") {
      set $language $1;
      index ../server/i18n-angular/$language.json;
    }
  }
} 

Какую директиву использовать вместо index?

Я не вижу, что вам нужен отдельный location вообще. Простой rewrite стоит сделать.

Например:

server {
    rewrite /api/lang /server/i18n-angular/$arg_lang.json last;