You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改WordOps环境Nginx规则适配不支持AVIF的浏览器?

正确Nginx合并配置方案

1. 配置全局map规则

首先找到Nginx主配置文件/etc/nginx/nginx.conf,在http块内添加以下两条map规则(不要放在server或location块中,否则会直接报错,这是绝大多数配置报错的核心原因):

map $http_accept $webp_suffix {
    default        "";
    "~image/webp"  ".webp";
}
map $http_accept $avif_suffix {
    default        "";
    "~image/avif"  ".avif";
}

这段规则会自动根据浏览器请求的Accept头判断支持的图片格式,只有浏览器明确支持对应格式时,后缀变量才会赋值,否则为空。

2. 修改wpcommon-php74.conf中的站点规则

替换你原来的wp-content/uploads相关location配置为以下内容:

# webp/avif rewrite rules for jpg and png images
location /wp-content/uploads {
    location ~ \.(png|jpe?g)$ {
        # 需同时Vary Accept和Accept-Encoding,避免CDN缓存错乱
        add_header Vary "Accept, Accept-Encoding";
        more_set_headers 'Access-Control-Allow-Origin : *';
        more_set_headers  "Cache-Control : public, no-transform";
        access_log off;
        log_not_found off;
        expires max;
        # 匹配顺序:优先avif,其次webp,最后回退原格式
        try_files $uri$avif_suffix $uri$webp_suffix $uri =404;
    }
}

3. 验证配置生效

修改完成后执行nginx -t测试配置语法,返回success无报错后,执行systemctl reload nginx重载配置即可。
规则生效后,不支持AVIF的Edge、Safari浏览器访问时,$avif_suffix会自动为空,Nginx会直接跳过AVIF格式查找,自动加载WebP或原JPG/PNG格式,不会出现空白问题。

内容的提问来源于stack exchange,提问作者newbieonline

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 13:24:04