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

如何使用 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

答案1

我认为你location根本不需要单独处理。简单的rewrite就可以了。

例如:

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

相关内容