如何在我的 Laravel/OctoberCMS 站点上自动压缩图像?
How to auto compress images on my Laravel/OctoberCMS site?
我已经开发了一些 OctoberCMS 网站(基于 Laravel 构建的 CMS),但网站上的图像存在很大问题。由于上面有图片,网站速度很慢。
所以尝试缩小所有 css 和 js 文件,但仍然很慢。所以我想知道是否有一个包可以压缩上传到网站的每张图片?
最好的解决方案是什么?我搜索了很多,但没有找到任何有用的信息。
优化图像的最佳方法是在前端使用正确的尺寸。 OctoberCMS 为您提供内置缩略图生成器。
<img src="{{ image.thumb(200, 200, {mode:'auto',quality:85}) }}" title="{{ image.title }}" alt="{{ image.description }}">
使用此功能,您可以设置大小、压缩质量和模式:自动模式、精确模式、纵向模式、横向模式、裁剪模式。默认值:自动
另外不要忘记为您的图像添加过期时间
# BEGIN Expire headers
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 7200 seconds"
ExpiresByType image/jpg "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
AddType image/x-icon .ico
ExpiresByType image/ico "access plus 2592000 seconds"
ExpiresByType image/icon "access plus 2592000 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType text/css "access plus 2592000 seconds"
ExpiresByType text/javascript "access plus 2592000 seconds"
ExpiresByType text/html "access plus 7200 seconds"
ExpiresByType application/xhtml+xml "access plus 7200 seconds"
ExpiresByType application/javascript A2592000
ExpiresByType application/x-javascript "access plus 2592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
</IfModule>
# END Expire headers
此模块控制 Expires HTTP header 的设置和服务器响应中 Cache-Control HTTP header 的 max-age 指令。到期日期可以设置为相对于源文件上次修改的时间,或者客户端访问的时间。
这些 HTTP header 是向客户端发出的有关文档有效性和持久性的说明。如果已缓存,则在该时间过去之前,可能会从缓存中而不是从源中获取文档。之后缓存副本被认为"expired"无效,必须从源获取新的副本。这加快了网站速度,因为浏览器不必一次又一次地加载相同的图像。
我已经开发了一些 OctoberCMS 网站(基于 Laravel 构建的 CMS),但网站上的图像存在很大问题。由于上面有图片,网站速度很慢。
所以尝试缩小所有 css 和 js 文件,但仍然很慢。所以我想知道是否有一个包可以压缩上传到网站的每张图片?
最好的解决方案是什么?我搜索了很多,但没有找到任何有用的信息。
优化图像的最佳方法是在前端使用正确的尺寸。 OctoberCMS 为您提供内置缩略图生成器。
<img src="{{ image.thumb(200, 200, {mode:'auto',quality:85}) }}" title="{{ image.title }}" alt="{{ image.description }}">
使用此功能,您可以设置大小、压缩质量和模式:自动模式、精确模式、纵向模式、横向模式、裁剪模式。默认值:自动
另外不要忘记为您的图像添加过期时间
# BEGIN Expire headers
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 7200 seconds"
ExpiresByType image/jpg "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
AddType image/x-icon .ico
ExpiresByType image/ico "access plus 2592000 seconds"
ExpiresByType image/icon "access plus 2592000 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType text/css "access plus 2592000 seconds"
ExpiresByType text/javascript "access plus 2592000 seconds"
ExpiresByType text/html "access plus 7200 seconds"
ExpiresByType application/xhtml+xml "access plus 7200 seconds"
ExpiresByType application/javascript A2592000
ExpiresByType application/x-javascript "access plus 2592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
</IfModule>
# END Expire headers
此模块控制 Expires HTTP header 的设置和服务器响应中 Cache-Control HTTP header 的 max-age 指令。到期日期可以设置为相对于源文件上次修改的时间,或者客户端访问的时间。
这些 HTTP header 是向客户端发出的有关文档有效性和持久性的说明。如果已缓存,则在该时间过去之前,可能会从缓存中而不是从源中获取文档。之后缓存副本被认为"expired"无效,必须从源获取新的副本。这加快了网站速度,因为浏览器不必一次又一次地加载相同的图像。