Прошу разрешить ситуацию по синтаксису.
Pianinorama
nginx-forum на forum.nginx.org
Пн Июл 1 14:01:36 UTC 2019
Добрый день.
Есть вот такой фрагмент конфига:
location ~* ^(.*)(/static/.*)(jpg|jpeg|png)$ {
set $webp $1$2webp;
set $rootFile "${document_root}${webp}";
if ($http_accept ~* "webp"){set $test A;}
if (-f $rootFile) {set $test "${test}B";}
if ($test = AB) {
add_header Vary Accept;
rewrite (.*) $webp break;
}
}
Хотелось уйти от большого количества IF. Сделал вот так (опускаем
location):
set $webp $1$2webp;
set $rootFile "${document_root}${webp}";
map "$http_accept ~*" $test {
"webp" A;}
try_files $rootFile {set $test "${test}B";}
if ($test = AB) {
add_header Vary Accept;
rewrite (.*) $webp break;
}
Есть сильное сомнение что сработает конструкция в try_files. Да и в рамках
map тоже сильно сомневаюсь.
Сможете кто-то подсказать, как сделать проще и изящнее?
Заранее спасибо.
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,284703,284703#msg-284703
Подробная информация о списке рассылки nginx-ru