Nginx redirect to url if image does not exist

Задача: только для статики сделать перенаправление (302 редирект), если файл не был найден.
Самый правильный способ – не использовать ifв данном случае, это может показаться странным, но на практике, с данной задачей лучше справится try_files. Будет выглядеть так:

Вариант №1:

location ~* \.(jpg|jpeg|gif)$ {
    root /home/www/;
    try_files $uri @imgproxy;
    }
<p>location @imgproxy {
        rewrite ^/img/(.*) http://nagg.ru/img/$1;
    }

Вариант №2:

location ~* \.(jpg|jpeg|gif)$ {
     if (!-f $request_filename) {
         rewrite ^/images/(.*) http://nagg.ru/images/$1 break;
     }
    root /home/www/;
    }

Оба варианта рабочие.
Удачи!

Related posts:

  1. Nginx rewrite: remove .html from URL with arguments Если вам требуется удалять .html из вашего URL с помощью...
  2. Установка связки nginx + apache В данной статье основной упор делается на связку nginx +...
  3. Простое копирование файлов в linux/unix системах Для переноса каталога easycopy с одного сервера на другой, используем...
  4. Apache: исключить один url из Basic Auth В данном примере мы будем использовать модуль mod_setenvif: http://httpd.apache.org/docs/2.2/mod/mod_setenvif.html...
  5. Удаленная атака на Apache. Как защититься? На сайте http://seclists.org/fulldisclosure/2011/Aug/175 появилась новость о уязвимости веб сервера Apache....
You can leave a response, or trackback from your own site.

Оставить комментарий

*