2016-09-09 110 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不'忘記去驗證它:) –