使用 htaccess 的 webp 回退 jpg

webp fallback jpg using htaccess

我在图片中默认使用webp格式,我想在不支持webp的浏览器中显示jpg版本。

我想使用 htaccess 执行此操作,我的代码将 jpg 转换为 webp,我该如何反转?

<IfModule mod_rewrite.c>
  RewriteEngine On

  RewriteCond %{HTTP_ACCEPT} image/webp

  RewriteCond %{DOCUMENT_ROOT}/.webp -f

  RewriteRule (.+)\.(jpe?g|png|gif)$ .webp [T=image/webp,E=REQUEST_image]
</IfModule>

<IfModule mod_headers.c>

  Header append Vary Accept env=REQUEST_image
</IfModule>

<IfModule mod_mime.c>
  AddType image/webp .webp
</IfModule>

所以你要链接到 .webp 图片,如果用户不支持 image/webp 类型的图片,你想提供相应的 .jpg 图片,但大概是测试是否对应.jpg 图片在尝试提供之前首先实际存在...

RewriteCond %{HTTP_ACCEPT} !image/webp
RewriteCond %{DOCUMENT_ROOT}/.jpg -f
RewriteRule (.+)\.webp$ .jpg [T=image/jpeg,E=REQUEST_image]

如果 user-agent 实际上不支持 webp 图像,则可能不需要测试 .jpg 图像是否存在。哪个更好...某种图像显示问题或 404?再一次,如果 .jpg 图像 always 存在,那么文件检查无论如何都是多余的。