2016-09-09 109 views
0

我已经开发了一些OctoberCMS网站(一个建立在Laravel上的CMS),但是我在网站上的图片中遇到了一个大问题。这些网站由于其上的图像而非常缓慢。如何在我的Laravel/OctoberCMS网站上自动压缩图像?

所以试图缩小所有的CSS和JS文件,但仍然非常缓慢。所以我想知道是否有一个我可以使用的包可以压缩上传到网站的每个图像?

什么是最好的解决方案?我搜查了很多,但没有用。

+0

看看[Croppa(https://github.com/BKWLD/croppa) –

回答

0

优化你的图像的最佳方法是在前端使用合适的尺寸。 OctoberCMS为您提供缩略图生成器。

<img src="{{ image.thumb(200, 200, {mode:'auto',quality:85}) }}" title="{{ image.title }}" alt="{{ image.description }}"> 

使用此功能,您可以设置大小,压缩质量和模式:模式自动,精确,人像,风景,裁剪。默认值:auto

另外不要忘记添加期满图像

# 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 

该模块控制的过期的HTTP标头在服务器响应的缓存控制HTTP标头的最大年龄指令设置。截止日期可以设置为相对于源文件上次修改时间或客户端访问时间。

这些HTTP标头是一条关于文档的有效性和持久性的指示。如果缓存,文档可能会从缓存中获取,而不是从源中获取,直到这段时间过去。之后,缓存副本被视为“过期”并且无效,并且必须从源获得新的副本。这加快了网站的速度,因为浏览器不必一次又一次地加载相同的图像。

更多信息:https://www.howtoforge.com/make-browsers-cache-static-files-with-mod_expires-on-apache2-debian-squeeze

+0

到期码,我必须把它的.htaccess吗? –

+0

这非常有用。任何其他建议? –

+0

是的,在.htaccess中。如果你发现我的anwser usefull不'忘记去验证它:) –