Задать вопрос

Nginx location— автоподстановка другой картинки при отсутствии запрашиваемой картинки?

Есть набор картинок, находящийся на сервере по адресу:
/var/www/site.com/web/images/storage/icons/ИКАНОКА.png


Запрашивается из браузера просто:
https://site.com/images/storage/icons/TEST1.png

Нужно по имени файла проверять наличие иконок:
1. Сначала запрашиваемой «TEST1.png»:
https://site.com/images/storage/icons/TEST1.png
если есть → выдаем её

2. Затем её же но «.gif»
https://site.com/images/storage/icons/TEST1.gif
если есть → выдаем её

3. Если нету ни п.1, ни п.2 — выдавать заглушку:
/images/storage/icons/_NULL.png

Вот так не работает:
location ^~ /images/storage/icons/([a-zA-Z0-9]{1,9})\.(gif|png)$ {
    try_files $uri /images/storage/icons/$1.png /images/storage/icons/$1.gif /images/storage/icons/_NULL.gif =404;
}


так тоже:
location ^~ /images/storage/icons/([a-zA-Z0-9]{1,9})\.(gif|png)$ {
    try_files $uri /var/www/site.com/web/images/storage/icons/$1.png /var/www/site.com/web/images/storage/icons/$1.gif /var/www/site.com/web/images/storage/icons/_NULL.gif =404;
}


Подскажите, плиз, как правильно настроить проверку?
  • Вопрос задан
  • 125 просмотров
Подписаться 1 Средний 8 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы