ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Заглушка вместо отсутствующей картинки.



Сегодня читал мануал и обнаружил интересную конструкцию, которая Вам поможет:

location /images/ {
    try_files $uri /images/default.gif;
}

location = /images/default.gif {
    expires 30s;
}

Если нужный файл внутри /images/ не найден - загружается /images/default.gif;

Более подробное описание: http://nginx.org/ru/docs/http/ngx_http_core_module.html#try_files


29 октября 2013 г., 0:34 пользователь Maxim Dounin <mdounin@xxxxxxxxxx> написал:
Hello!

On Mon, Oct 28, 2013 at 05:58:26AM -0400, Vipper wrote:

> Спасибо за пояснения.
> Сделал так:
> location ^~ /photos/ {
>       error_page 404 /photos/no_photo.gif;
>       log_not_found off;
> }
>
> location = /photos/no_photo.gif {
>       expires max;
> }
>
> Если писать location /photos/  то не работает.
>
> Поясните мне пожалуйста последний момент.
> Почему при одном обращении к несуществующей картинке в access лог пишутся
> ДВЕ записи? Если разрешить error лог, то и туда тоже.
> Я понять этого не могу. При этом картинка подменяется как положено.

Если в access log'е две записи - значит браузер сделал два
запроса.  Почему так - отдельный вопрос, требующий разбирательств
в первую очередь с браузером.  E.g. он мог сделать это, если
картинка используется на странице в двух местах, и из-за 404-го
кода ответа он пошёл на сервер ещё раз.  Можно попробовать сказать

    error_page 404 = /photos/no_photo.gif;

(доблен модификатор "="), тогда браузеру заглушка уйдёт с кодом
200.  Но это не то, чтобы очень правильный подход - лучше код
ошибки в подобных ситуациях по возможности сохранять, это делает
мир лучше.
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru



--
AG
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.