具有多个子目录的nginx位置(django i18n)

时间:2016-01-16 11:10:17

标签: nginx nginx-location

我有这个服务器,我使用django i18n用于几种语言,但我不能让nginx使用相同的位置服务这些目录。

location /(fr|en|ko|de)/ {
    proxy_pass http://127.0.0.1:8005;
    proxy_set_header X-Forwarded-Host $server_name;
    proxy_set_header X-Real-IP $remote_addr;
    add_header P3P 'CP=ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
}

但这样做并不起作用,也不能满足这些网址的要求。

唯一可行的解​​决方案是我制作4个位置块的解决方案,但这不是最好的解决方案...

那么,真正的解决方案是什么?

1 个答案:

答案 0 :(得分:1)

您混淆了前缀位置和正则表达式位置的语法。

您需要指定一组语言,因此需要正则表达式。

正确的表达方式是:

location ~* ^/(fr|en|ko|de)/ { ... }

有关详细信息,请参阅this document