我有像/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
?
答案 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;
}
}