nginx 在图片请求出现 404 时返回自定义默认图片的方法
2024-04-21 tech nginx 2 mins 4 图 851 字
使用 NGINX 的error_page
指令。下面是一个简单的配置示例:
server {
listen 80;
server_name example.com;
root /path/to/your/images;
# Define a location block for handling image requests
location /images/ {
try_files $uri @fallback;
}
# Define a location block for the fallback image
location @fallback {
error_page 404 = /images/default.jpg;
return 404;
}
}
这个配置中:
try_files $uri @fallback;
尝试查找请求的图片文件,如果文件存在则返回,否则转到@fallback
定义的位置。error_page 404 = /images/default.jpg;
当发生404错误时,NGINX会将请求重定向到指定的图片,这里是/images/default.jpg
。return 404;
返回404状态码。
以我本地的 blog 为例,我的配置如下:
location /blog/tags/ {
try_files $uri @fallback;
}
# Define a location block for the fallback image
location @fallback {
error_page 404 = /blog/tags/zzz.jpg;
return 404;
}
要注意的是,如果在配置中也有关于图片的操作配置,要注意一下他们的先后顺序,NGINX 会使用首先匹配到的配置块来处理请求。