<div dir="ltr">Сегодня читал мануал и обнаружил интересную конструкцию, которая Вам поможет:<div><br></div><div><div>location /images/ {</div><div>    try_files $uri /images/default.gif;</div><div>}</div><div><br></div><div>

location = /images/default.gif {</div><div>    expires 30s;</div><div>}</div></div><div><br></div><div>Если нужный файл внутри /images/ не найден - загружается /images/default.gif;</div><div><br></div><div>Более подробное описание: <a href="http://nginx.org/ru/docs/http/ngx_http_core_module.html#try_files">http://nginx.org/ru/docs/http/ngx_http_core_module.html#try_files</a></div>

<div class="gmail_extra"><br><br><div class="gmail_quote">29 октября 2013 г., 0:34 пользователь Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>></span> написал:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<div class="im"><br>
On Mon, Oct 28, 2013 at 05:58:26AM -0400, Vipper wrote:<br>
<br>
> Спасибо за пояснения.<br>
> Сделал так:<br>
> location ^~ /photos/ {<br>
>       error_page 404 /photos/no_photo.gif;<br>
>       log_not_found off;<br>
> }<br>
><br>
> location = /photos/no_photo.gif {<br>
>       expires max;<br>
> }<br>
><br>
> Если писать location /photos/  то не работает.<br>
><br>
> Поясните мне пожалуйста последний момент.<br>
> Почему при одном обращении к несуществующей картинке в access лог пишутся<br>
> ДВЕ записи? Если разрешить error лог, то и туда тоже.<br>
> Я понять этого не могу. При этом картинка подменяется как положено.<br>
<br>
</div>Если в access log'е две записи - значит браузер сделал два<br>
запроса.  Почему так - отдельный вопрос, требующий разбирательств<br>
в первую очередь с браузером.  E.g. он мог сделать это, если<br>
картинка используется на странице в двух местах, и из-за 404-го<br>
кода ответа он пошёл на сервер ещё раз.  Можно попробовать сказать<br>
<br>
    error_page 404 = /photos/no_photo.gif;<br>
<br>
(доблен модификатор "="), тогда браузеру заглушка уйдёт с кодом<br>
200.  Но это не то, чтобы очень правильный подход - лучше код<br>
ошибки в подобных ситуациях по возможности сохранять, это делает<br>
мир лучше.<br>
<div class="im HOEnZb"><br>
--<br>
Maxim Dounin<br>
<a href="http://nginx.org/en/donation.html" target="_blank">http://nginx.org/en/donation.html</a><br>
<br>
</div><div class="HOEnZb"><div class="h5">_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div>

AG<br></div></div>
</div></div>