Como servir arquivos estáticos específicos com o nginx?

5

Eu tenho consultas como /api/lang?lang=en , que quero veicular com nginx como /server/i18n-angular/en.json . Como posso fazer isso?

Eu tenho a seguinte estrutura de diretórios:

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

Eu tenho a seguinte configuração, mas o nginx diz que está errado usar a diretiva de índice nesse ponto.

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

Qual diretiva devo usar em vez de index ?

    
por Barnabas Szabolcs 16.03.2015 / 19:33

1 resposta

6

Não vejo que você precise de um location separado. Um simples rewrite deve fazer.

Por exemplo:

server {
    rewrite /api/lang /server/i18n-angular/$arg_lang.json last;
    
por 16.03.2015 / 19:39