我有一个本地化的文件夹,有一堆语言(如JSON)文件,我的Web应用程序试图读取浏览器的语言来获取相应的JSON文件。
在某些情况下,相应的语言文件不存在,并且nginx应该返回404。 但是,我想返回一个临时的redirect到默认的语言文件。
我试过这个,但似乎没有工作。 我究竟做错了什么?
location /static/l10n { try_files $uri @missing_language; } location @missing_language { rewrite ^ /static/l10n/en-us.json break; }
编辑2 :所以我试着调整try_files有点像这样。
location /static/l10n { try_files $uri /static/l10n/en-us.json; }
但是现在我得到一个500错误。 日志说*35 rewrite or internal redirection cycle while internally redirecting 。
编辑3 :我完整的nginx conf在这里 – https://gist.github.com/paambaati/9782e95b2e9af899b154
error_page 要使用给定的文件作为404响应 – 请使用error_page :
location /static/l10n { error_page 404 = /static/l10n/en-us.json; }
请注意使用=来将/static/l10n/en-us.json作为http 200。