本文章來給各位同學(xué)介紹php控制頁面瀏覽器緩存與啟用gzip傳送頁面方法,希望此代碼對各位同這會有所幫助,同時沒有服務(wù)器權(quán)限的朋友可這樣來實現(xiàn)服務(wù)器gzip頁面?zhèn)鬏敗?/p>
php實例gzip傳輸頁面,可以用于靜態(tài)資源與html頁面,修改一下也適合于其他語言,代碼如下:
- //緩存過期時間(Cache-Control, http1.1協(xié)義), 推薦使用
- $secs = 0; //秒
- header("Cache-Control: s-maxage=$secs, max-age=$secs, must-revalidate, proxy-revalidate");
- // 緩存過期時間為24小時(Expires)
- $offset = 3600 * 24;
- $expire = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
- Header($expire);
- //Last-Modified, 最后修改的時間
- $gmt_mtime = gmdate('D, d M Y H:i:s', time() ) . ' GMT';
- header("Last-Modified: " . $gmt_mtime );
- //啟用gzip壓縮
- ob_start();
- ... your php code ...
- ... your php code ...
- ... your php code ...
- header('Content-Length: ' . ob_get_length());
- ob_end_flush();
如果你有服務(wù)器權(quán)限可參考apache開啟gzip傳輸
一,找到你的httpd.conf文件,打開找到如下
LoadModule deflate_module modules/mod_deflate.so
把前面的#去了,因為mod_deflate.so模塊默認是關(guān)閉的,好了下面一下
二,把現(xiàn)面代碼放到你httpd.conf文件最后面就好了,代碼如下:
- <IfModule mod_deflate.c>
- SetOutputFilter DEFLATE
- DeflateCompressionLevel 5
- AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript
- </IfModule>
重啟你的apache就KO了
iis開啟gzip頁面?zhèn)鬏?/strong>
1. 打開Internet信息服務(wù)(IIS)管理器,右擊“網(wǎng)站”-》“屬性”,選擇“服務(wù)”。在“HTTP壓縮”框中選中“壓縮應(yīng)用程序文件”和“壓縮靜態(tài)文件”,按需要設(shè)置“臨時目錄”和“臨時目錄的最大限制”;
2. 在Internet信息服務(wù)(IIS)管理器,右擊“Web服務(wù)擴展”-》“增加一個新的Web服務(wù)擴展。。.”,在“新建Web服務(wù)擴展”框中輸入擴展名“HTTP Compression”,添加“要求的文件”為C:WINDOWSsystem32inetsrvgzip.dll,其中Windows系統(tǒng)目錄根據(jù)您的安裝可能有所不同,選中“設(shè)置擴展狀態(tài)為允許”;
3. 使用文本編輯器打開C:WindowsSystem32inetsrvMetaBase.xml(建議先備份),找到Location =“/LM/W3SVC/Filters/Compression/gzip用于設(shè)置gzip壓縮,找到Location =”/LM/W3SVC/Filters/Compression/deflate“用于設(shè)置deflate壓縮,上面兩個節(jié)點緊挨著,并且設(shè)置的屬性相同。
如果需要壓縮動態(tài)文件,則將HcDoDynamicCompression設(shè)置為”TRUE“,并在HcScriptFileExtensions中增加您要壓縮的動態(tài)文件后綴名,如aspx;
如果需要壓縮靜態(tài)文件,則將HcDoStaticCompression和HcDoOnDemandCompression設(shè)置為”TRUE“,
并在HcFileExtensions中增加您需要壓縮的靜態(tài)文件后綴名,如xml、css等;HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的壓縮率,數(shù)值在0-10, 默認為0。
HcDynamicCompressionLevel屬性說明:HcDynamicCompressionLevel Metabase Property
HcOnDemandCompLevel 屬性說明:HcOnDemandCompLevel Metabase Property
說明:這兩個屬性值一般推薦設(shè)置為9, 具有最佳性價比。
注意:
1.在編輯MetaBase.xml前需要停止IIS,可以使用 net stop iisadmin
2.修改完成后開啟iisadmin服務(wù),并執(zhí)行iisreset命令
關(guān)于SEO的測試
壓縮是否對SEO有影響,經(jīng)測試,開啟后仍然可以被很好的收錄。
關(guān)于對SEO影響的研究文章,還可以參考下面的幾篇文章。
具體的效率問題,將繼續(xù)監(jiān)控以作研究.
新聞熱點
疑難解答