在Apache的設定檔中找到下面兩行,將注釋#去掉,重啟。
LoadModule deflate_module modules/mod_deflate.soLoadModule expires_module modules/mod_expires.so
在你網站的目錄下建立.htaccess,添加如下內容:
<IfModule mod_expires.c>ExpiresActive OnExpiresByType image/gif A2592000ExpiresByType image/jpeg A2592000ExpiresByType image/png A2592000ExpiresByType image/x-icon A2592000ExpiresByType application/x-javascript A604800ExpiresByType text/css A604800</IfModule><IfModule mod_deflate.c>SetOutputFilter DEFLATEAddOutputFilterByType DEFLATE text/html text/css application/x-javascript</IfModule>
解釋一下。ExpiresByType是通過MIME類型來設定具體檔案的緩衝時間,A表示訪問,A後面的數字表示訪問後的緩衝時間。AddOutputFilterByType表示根據後面的MIME類型來壓縮檔,這裡對css,html,JavaScript等進行gzip壓縮。更多選項請參考apache手冊哦。
關閉ETag。Etag的問題在於,它是根據可以辨別網站所在的伺服器的具有唯一性的屬性來產生的。當瀏覽器從一台伺服器上獲得頁面內容後到另外一台伺服器上進行驗證時ETag就會不匹配,這種情況對於使用伺服器組和處理請求的網站來說是非常常見的。在設定檔中寫入下面一行即可:
FileETag none
如果是多伺服器負載平衡,可以設定為FileETag MTime Size,
apache預設設定為FileETag INode MTime Size,去掉INode。
經過上面的設定,開啟YSlow,評分A(96)。