nginx image_filter调整大小并将图像转换为webp

lokaqttq  于 2023-10-17  发布在  Nginx
关注(0)|答案(1)|浏览(199)

我想通过nginx中的image_filter来提供大小调整和转换的png/jpg/jpeg图像,以webp格式提供图像。是否有任何选项可以通过try_files来重写路径或其他方式,而无需安装其他扩展到nginx?

set $width "-";
      
if ($arg_w != '') { 
    set $width $arg_w; 
}

location ^~ /common/images/\.*\.(png|jpeg|jpg) {
    add_header X-Nginx-Image Resized;
    image_filter resize $width -;
    expires 12M;
    add_header Cache-Control "public";
}
fcg9iug3

fcg9iug31#

我已经组织了评论,使它们看起来整洁。
[源代码:eglibc]
我找到了一个解决办法,效果很好。
所以,如果我在webp中转换了图像,它会调整大小并提供服务,否则,它会调整我的基础图像的大小而不转换。

set $width "-"; 

if ($arg_w != '') { 
    set $width $arg_w; 
}

location ~* "^(?<path>.+)\.(png|jpeg|jpg)$" { 
    try_files $path$webp_ext $path$file_ext =404; 
    add_header X-Nginx-Image Resized; 
    image_filter resize $width -; 
    expires 12M; 
    add_header Cache-Control "public"; 
}

相关问题