最近谷推科技上了几个B2C的在线零售站点,采用的是 WordPress + WooCommerce 程序来建站。由于 WooCommerce 采用的是实时动态的数据库调用,对于服务器的性能要求很大,原先的 Linux 云服务器性能无法满足需求,于是我们换用了独立的物理服务器,这台服务器的配置比云服务器高了很多倍,碰巧我们有一些exe程序需要 Windows 系统来跑,在服务器系统环境搭建的时候就没有采用Linux环境,而是使用 Windows Server 2019 数据中心版。在使用新服务器的时候发现网站webp图片无法解析,仔细检查发现是 IIS 的 MIME 扩展类型未设置。
Webp报错
由于是Windows服务器,我没有采用 Nginx 而是使用Windows的 IIS,服务器配置的环境是 IIS 10.0 + MySQL 5.6 + PHP 7.4 ,采用了宝塔的Windows面板。网站设置好了后,访问的时候出现了无法访问 webp 图片的情况,如果访问对应的图片地址,就会报错,如下图所示:
造成Webp报错的原因
起初我以为是伪静态规则设置导致,后面排查发现,只有 webp 图片无法访问,其它一切都正常。于是针对 webp 去查看 IIS 的设置,在 IIS 的 MIME 扩展类型中没有找到 webp ,那问题应该是出现在这里了。
解决方案
只需要在 IIS 的 MIME 扩展类型里增加 webp 即可,具体操作如下:
服务器宝塔控制面板中打开 IIS 进入 IIS 管理界面,然后选择 MIME ,新增
MIME名称:
.webp
MIME类型:
image/webp
如下图所示:
这样就可以正常访问了。