
여러 언어(JSON 등) 파일이 포함된 현지화 폴더가 있고 내 웹앱은 해당 JSON 파일을 가져오기 위해 브라우저의 언어를 읽으려고 합니다.
특정 시나리오에서는 해당 언어 파일이 존재하지 않으며 nginx는 예상대로 404를 반환합니다. 그러나 기본 언어 파일로 임시 리디렉션을 반환하고 싶습니다.
나는 이것을 시도했지만 작동하지 않는 것 같습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
location /static/l10n {
try_files $uri @missing_language;
}
location @missing_language {
rewrite ^ /static/l10n/en-us.json break;
}
편집 2try_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
답변1
사용error_page
주어진 파일을 404 응답으로 사용하려면 - 사용error_page:
location /static/l10n {
error_page 404 = /static/l10n/en-us.json;
}
http 200으로 사용 =
되는 것을 참고하세요 ./static/l10n/en-us.json