Назад | Перейти на главную страницу

nginx отображает не найденное изображение

У меня много изображений с горячими ссылками. Это нормально, но некоторые из них больше не существуют из-за изменения URL-адреса. Можно ли отображать что-то вроде изображения "ошибка изображения не найдена" в imageshack, только когда изображения запрашиваются, а они не существуют?

Сейчас у меня есть страница 404, но я все еще хотел бы ее сохранить.

Я могу разместить простую картинку в формате jpg / gif с надписью «Не найдено» и отображать ее, только если картинки не найдены.

честно говоря я не знаю с чего начать

мой путь может быть любым от / level1 / до /level1/..../blah/oldpicture.jpg, и большинство изображений визуализируются Gallery2 с url_rewrite, поэтому они фактически переходят на php.

 location / {
                try_files $uri $uri /main.php?url=$1;
                #rewrite ^/(.+)$ /main.php?url=$1 last;
        }

также я использую это в части конфигурации php fpm

fastcgi_intercept_errors on; # to support 404s for PHP files not found

Я мог бы попробовать это с помощью кодирования, но это второй вариант.

Вы можете изменить страницу ошибки в зависимости от местоположения. Например:

location ~ \.(png|jpg)$ {
    error_page 404 /404.png;
}

Возможно, добавьте блок местоположения для выполнения try_files на изображениях и перезаписи из указанного местоположения в случае сбоя. Примерно так (не проверено):

location ~* \.(png|jpg|gif) {
    try_files $uri $uri/ @noimage;
}
location @noimage {
    rewrite ^ http://yousite.com/noimage.png;
}
location / {
    try_files $uri $uri/ /main.php?url=$1;
}
location \.php {
    ...
}