如何使用nginx提供特定的静态文件?

时间:2015-03-16 18:19:44

标签: 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

2 个答案:

答案 0 :(得分:1)

location /api/lang {
    alias /server/i18n-angular;
    rewrite ^ /$arg_lang.json;
}

答案 1 :(得分:0)

"指数"指定用于显示文件夹的索引文件,因此它不是您需要的。

你需要"重写"代替:

location /api/lang {
    alias /server/i18n-angular;
    if ($args ~* "\?lang=(.+)") {
      set $language $1;
      rewrite ^/(.*)$ /$language.json;
    }
}
相关问题