我正在使用ShortPixel插件,并尝试通过htaccess mod_redirect提供webp图像,但是它不起作用。我的主人是SiteGround(Apache),他们告诉我以下内容:
'文件确实是通过.jpg扩展名加载的,但是在内部,它们使用您设置的.webp格式。您可以从请求的响应标头中进行验证。
这是正常现象,因为.htaccess文件中的mod_rewrite代码不包含重定向(通过“ R”标志),并且图像保持相同的URL。如果您希望重定向相同的文件,则应考虑更新.htaccess代码。'
我不确定该怎么做,如果有人知道答案,我将不胜感激。我通过shortpixel生成的htaccess代码如下(尽管我很乐意根据需要删除/修改)
编辑:我不确定为什么,但是在没有stackoverflow告诉我有错误的情况下,我似乎无法粘贴代码,所以我将其粘贴在这里
jsfiddle.net/gLewthsv
答案 0 :(得分:0)
@ SilverBlack,WebP图像带有原始扩展名(例如.jpg)的事实是有意为之的,因为每个图像的重定向都会影响页面的性能(对Web服务器进行另一次往返)该图像)。 您能否先告诉我,需要这种重定向的原因/用例是什么? 如果仍然需要执行302重定向,则应使用:
RewriteRule (.+)\.(?:jpe?g|png)$ %1.webp [NC,T=image/webp,E=webp,R,L]
这适用于我的测试环境。另请注意,您使用的是ShortPixel的.htaccess代码的旧版本,可以从res / img中的插件中获取新版本。
然后,您还应该删除“ # BEGIN/END ShortPixelWebp
”节标记以及“高级设置”中的选项,因为否则,如果停用并重新激活该插件,它将重写.htaccess节。
Simon,CTO @ ShortPixel