一、Apache開啟gzip壓縮 首先說下gzip配置的方法,在apache中g(shù)zip壓縮使用的是mod_deflate模塊, 以下是具體的配置方法和步驟: 步驟一: LoadModule deflate_module modules/mod_deflate.so LoadModule headers_module modules/mod_headers.so 打開http.conf后,先將上面兩行配置前面的#號(hào)去掉,這樣apache就會(huì)啟用這兩個(gè)模塊,其中mod_deflate是壓縮模塊,就是對要傳輸?shù)娇蛻舳说拇a進(jìn)行g(shù)zip壓縮 mod_headers模塊的作用是告訴瀏覽器頁面使用了gzip壓縮,如果不開啟mod_headers那么瀏覽器就會(huì)對gzip壓縮過的頁面進(jìn)行下載,而無法正常顯示 步驟二: 在httpd.conf中加入以下代碼,可以加到任何空白地方,不了解apache的朋友,如果擔(dān)心加錯(cuò)地方,就放到http.conf文件的最后一行。 <IfModule mod_deflate.c> SetOutputFilter DEFLATE #必須的,就像一個(gè)開關(guān)一樣,告訴apache對傳輸?shù)綖g覽器的內(nèi)容進(jìn)行壓縮 SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary #設(shè)置不對后綴gif,jpg,jpeg,png的圖片文件進(jìn)行壓縮 SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary #同上,就是設(shè)置不對exe,tgz,gz。。。的文件進(jìn)行壓縮 SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary AddOutputFilterByType DEFLATE text/* #設(shè)置對文件是文本的內(nèi)容進(jìn)行壓縮,例如text/html text/css text/plain等 AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript #這段代碼你只需要了解application/javascript application/x-javascript這段就可以了,這段的意思是對javascript文件進(jìn)行壓縮 AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp #這段是告訴apache對php類型的文件進(jìn)行壓縮 BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.x 有一些問題,所以只壓縮文件類型是text/html的 BrowserMatch ^Mozilla/4.0[678] no-gzip # Netscape 4.06-4.08 有更多的問題,所以不開啟壓縮 BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # IE瀏覽器會(huì)偽裝成 Netscape ,但是事實(shí)上它沒有問題 Header append Vary User-Agent env=!dont-vary #確保代理不會(huì)發(fā)送錯(cuò)誤的內(nèi)容 </IfModule> 本配置到這里apache中的gzip壓縮就配置完成,重啟apache后,新的配置就會(huì)生效。 二、配置http緩存mod_expires模塊 步驟一: LoadModule expires_module modules/mod_expires.so 在httpd.conf中,找到上面的代碼,然后將前面的#去掉 步驟二: 在httpd.conf中加入以下代碼,可以加到任何空白地方,不了解apache的朋友,如果擔(dān)心加錯(cuò)地方,就放到http.conf文件的最后一行。 <IfModule mod_expires.c> ExpiresActive On #激活http緩存,也就是個(gè)開關(guān),必須有的一段代碼 ExpiresDefault A604800 #默認(rèn)緩存時(shí)間為604800秒,也就是7天,A表示以客戶端時(shí)間為準(zhǔn) ExpiresByType text/css A3600 #對css文件緩存3600秒,也就是1小時(shí),A表示以客戶端時(shí)間為準(zhǔn) ExpiresByType text/html A3600 #對html文件緩存3600秒,也就是1小時(shí),A表示以客戶端時(shí)間為準(zhǔn) ExpiresByType application/x-javascript A3600 #對javascript文件緩存3600秒,也就是1小時(shí),A表示以客戶端時(shí)間為準(zhǔn) ExpiresByType p_w_picpath/gif "access plus 2 month" #對gif圖片緩存2個(gè)月,以客戶端時(shí)間為準(zhǔn) @ itxyz.net ExpiresByType p_w_picpath/jpeg "access plus 2 month" #對jpeg和jpg圖片緩存2個(gè)月,以客戶端時(shí)間為準(zhǔn) ExpiresByType p_w_picpath/png "access plus 2 month" #對png圖片緩存2個(gè)月,以客戶端時(shí)間為準(zhǔn) ExpiresByType p_w_picpath/x-icon "access plus 2 month" #對瀏覽器小圖標(biāo)緩存2個(gè)月,以客戶端時(shí)間為準(zhǔn) ExpiresByType application/x-shockwave-flash A2592000 #對flash文件緩存2592000秒,也就是1個(gè)月,A表示以客戶端時(shí)間為準(zhǔn) Header unset Pragma #刪除掉http頭信息中的Pragma,不懂的可以google一下Pragma,他也是控制瀏覽器緩存的,不過是用于http1.0標(biāo)準(zhǔn) FileETag None Header unset ETag #這段代碼和上面一段的作用是不使用http1.1標(biāo)準(zhǔn)中的ETag屬性 <FilesMatch "\.(js|css|ico|pdf|flv|jpg|jpeg|png|gif|mp3|mp4|swf)$"> #針對js|css|ico等后綴的文件進(jìn)行單獨(dú)設(shè)置 #Header set Expires "Thu, 15 Apr 2013 20:00:00 GMT" Header unset Last-Modified #不使用http頭信息中的Last-Modified屬性,Last-Modified是指文件最后修改時(shí)間 Header append Cache-Control "public" #設(shè)置為可被任何緩存區(qū)緩存 </FilesMatch> </IfModule> 上面的配置是我自己的服務(wù)器上正在使用的配置方法,在這里與大家分享一下,代碼不會(huì)有錯(cuò),最后不要忘記重啟apache服務(wù)器哦 如果有apache高人有更好的配置,請指教一下! 如果用的虛擬主機(jī),而虛擬主機(jī)支持.htaccess,則可以將上面的代碼放到.htaccess文件中。
標(biāo)題名稱:Apache開啟gzip壓縮和http緩存的配置
URL標(biāo)題:http://www.chinadenli.net/article36/igpesg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、云服務(wù)器、微信公眾號(hào)、網(wǎng)站維護(hù)、網(wǎng)站建設(shè)、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)