最近弄个站,图片特别多,加载速度很慢,于是想到用webp格式,可是网站仍然有很多用IE之类的用户,只能用ngnix适配一下,费了许多周折,终于做出了一个伪静态的方法。即判断accept头部,调用不同的图片,不支持webp的浏览器调用jpg之类的,支持的调用webp格式,上传图片时用jpg格式,然后用软件转成webp格式。伪静态代码如下:
location ~ .*\.(gif|jpg|jpeg|png)$ {
if ($http_accept ~* '(image/webp)'){
rewrite ^/(.*).jpg$ /$1.webp last; break;
}
}
location / {
if (!-e $request_filename){
rewrite ^/admin(.*)$ /admin.php?s=$1 last;
rewrite ^/index(.*)$ /index.php?s=$1 last;
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
来源:oschina
链接:https://my.oschina.net/u/3782143/blog/4815528