具有多个子目录的 nginx 位置(django i18n)
nginx location with multiple subdirectories (django i18n)
我有这个服务器,我在其中使用 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 个位置块的解决方案,但这不是最佳解决方案...
那么,真正的解决方案是什么?
您混淆了前缀位置和正则表达式位置的语法。
您需要指定一组语言,因此需要一个正则表达式。
正确的表达方式是:
location ~* ^/(fr|en|ko|de)/ { ... }
详情见this document。
我有这个服务器,我在其中使用 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 个位置块的解决方案,但这不是最佳解决方案...
那么,真正的解决方案是什么?
您混淆了前缀位置和正则表达式位置的语法。
您需要指定一组语言,因此需要一个正则表达式。
正确的表达方式是:
location ~* ^/(fr|en|ko|de)/ { ... }
详情见this document。