在nginx中丢失文件时显示默认图像

时间:2014-01-09 11:43:31

标签: nginx

我们有各种与我们网站上的项目相关的图片,但并非所有图片。为此,如果找不到给定的图像,我们希望显示'blank.jpg'的内容。

为此,我们有像这样的nginx配置

location /static/images/ {
    root /blah_blah_blah/pictures/;
    error_page 404 blank.jpg;
    break;
}

这个问题是这需要/static/images/fred.jpg并重定向到/static/images/blank.jpg当我们想要的是简单地显示blank.jpg的内容同时保持/ static / images / fred.jpg url

它似乎偶尔会进入重定向循环。

2 个答案:

答案 0 :(得分:2)

不确定你是否仍然需要它10个月后,但这看起来像你在寻找:https://serverfault.com/questions/562269/redirect-missing-images-in-a-specific-directory

答案 1 :(得分:0)

我想分享一些更复杂的例子。这是仅匹配所选扩展名或名称模式的一种方式:

location ~ ^/media/(.*)/preview(.*).(png|mp4)$ {
    try_files $uri @rewrite;
}

location @rewrite {
    rewrite ^/media/(.*)/preview(.*).(png|mp4)$ $scheme://$host/media/no_preview/preview$2.$3 redirect;
}