Добрый день.
Есть вот такой фрагмент конфига:
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 тоже сильно сомневаюсь.
Сможете кто-то подсказать, как сделать проще и изящнее?
Заранее спасибо.
Есть вот такой фрагмент конфига:
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 тоже сильно сомневаюсь.
Сможете кто-то подсказать, как сделать проще и изящнее?
Заранее спасибо.