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

Maxim Dounin mdounin at mdounin.ru
Mon Oct 28 20:34:32 UTC 2013


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.  Но это не то, чтобы очень правильный подход - лучше код 
ошибки в подобных ситуациях по возможности сохранять, это делает 
мир лучше.

-- 
Maxim Dounin
http://nginx.org/en/donation.html



Подробная информация о списке рассылки nginx-ru