Hẳn các bạn còn nhớ bài viết trước đây trên Hutek.info về cách tăng tốc blog toàn diện, trong bài viết đó anh Hutek đã giới thiệu cho chúng ta một trong những cách tăng tốc blog đó là sử dụng tính năng Gzip nhằm nén các file lại trước khi tải về nhằm giảm số request đến server.
Nếu như theo bài viết đó, chúng ta phải sửa code để có thể sử dụng tính năng Gzip thì hôm nay, mình xin giới thiệu với các bạn 2 cách để sử dụng tính năng Gzip mà không phải sửa code mà chỉ cần thêm vài dòng vào file .htaccess
Cách 1: Sử dụng Module Mod_Gzip
Yêu cầu: Đây là một External Module nên yêu cầu nhà cung cấp Web Hosting của bạn phải hỗ trợ Module này.
Dưới đây là đoạn code mà bạn sẽ chèn vào file .htaccess của mình
<ifModule mod_gzip.c> mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* </ifModule>
Cách 2: Sử dụng Module Mod_Deflare
Với những bạn xài host nền tảng Apache 2.0 thì có 1 module khác được tích hợp sẵn trong Apache là mod_deflare.
Chèn đoạn code sau vào file .htaccess của bạn
# BEGIN Compress text files <IfModule mod_deflate.c> <FilesMatch "\.(css|js|x?html?|php)$"> SetOutputFilter DEFLATE </FilesMatch> </IfModule> # END Compress text files # BEGIN Expire headers <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 seconds" ExpiresByType image/x-icon "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" ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" ExpiresByType text/css "access plus 604800 seconds" ExpiresByType text/javascript "access plus 216000 seconds" ExpiresByType application/javascript "access plus 216000 seconds" ExpiresByType application/x-javascript "access plus 216000 seconds" ExpiresByType text/html "access plus 600 seconds" ExpiresByType application/xhtml+xml "access plus 600 seconds" </IfModule> # END Expire headers # BEGIN Cache-Control Headers <IfModule mod_headers.c> <FilesMatch "\.(ico|jpe?g|png|gif|swf)$"> Header set Cache-Control "max-age=2592000, public" </FilesMatch> <FilesMatch "\.(css)$"> Header set Cache-Control "max-age=604800, public" </FilesMatch> <FilesMatch "\.(js)$"> Header set Cache-Control "max-age=216000, private" </FilesMatch> <FilesMatch "\.(x?html?|php)$"> Header set Cache-Control "max-age=600, private, must-revalidate" </FilesMatch> </IfModule> # END Cache-Control Headers # BEGIN Turn ETags Off <IfModule mod_headers.c> Header unset ETag </IfModule> FileETag None # END Turn ETags Off # BEGIN Remove Last-Modified Header <IfModule mod_headers.c> Header unset Last-Modified </IfModule> # END Remove Last-Modified Header
Chỉ vài dòng với file .htaccess là bạn đã có thể tăng tốc blog của mình rồi đấy, chúc các bạn thành công.
...
Mình xài cả 2 đoạn code trên có nhanh ko bác.
01/09/2010
Quá hay, cám ơn bạn đã chia sẻ
19/08/2010
cho mình hỏi 2 host free là Summerhost và ByetHost dùng cách này được không bạn
08/08/2010
Mình không rõ là Summerhost và Byehost có chỉnh được file htaccess không vì mình chưa xài nên không nói được. Nếu bạn Login vào FTP và thấy file .htaccess thì có thể làm theo.
11/08/2010
uhm mình đã làm được trên summerhost vì đang xài cái này còn byethost chưa test nhưng cũng cám ơn đã chia sẽ blog mình tăng tốc rất đáng kể
11/08/2010
Cho em hỏi là em đang dùng WP Super Cache, đã bật Gzip thì có thể dùng cách trên không ạ ? Vì em thấy khi dùng WP Super Cache chỉ gzip được vài file
04/08/2010
Bạn có thể thử tắt WP Super Cache và sử dụng các cách trên để gzip
04/08/2010
Các bác cho em hỏi, 2 cách trên thì chỉ dùng 1 chong 2 hay dùng cả 2 cùng 1 lúc cũng được thế
24/07/2010
Chào bạn.Cho mình hỏi câu hỏi hơi ngoài lề 1 tí :)
Hiện tại thì Blog mình có quá nhiều Categories nên việc hiển thị tất cả các Categories chiểm hơi nhiều không gian. Mình muốn chia Categories ra thành 2 cột như hình dưới
http://ca4.upanh.com/10.158.14296482.XTP0/edit.jpg
Không biết nên chỉnh sửa gì hay có plugin nào giúp việc này ko.
Site của mình ( anhsau.info/Blog )
Bạn giúp mình với :)
18/07/2010
chà hay nhỉ
17/07/2010
Cái này có áp dụng được cho website không vậy bác? hay chỉ dành cho blog?
16/07/2010
Website cũng được bạn à
17/07/2010
Mình dùng host FPT không hỗ trợ htaccess thì làm sao :(
14/07/2010
Host nào cũng có .htaccess mà bạn?
Hoặc nếu không bạn có thể xem bài viết kích hoạt Gzip qua code của blog WordPress
http://hutek.info/2009/07/16/toi-uu-va-tang-toc-toan-dien-blog-cua-ban-phan-1/
15/07/2010
Có ai thử chưa? Có tăng được nhiều không?
Vẫn đề tốc độ cũng đang làm đau đầu nhiều blogger!
14/07/2010
gzip là cách tăng hữu hiệu và đơn giản nhất đấy, nên thử
14/07/2010
Anh Hutek cho em hỏi là em đang dùng Maxcdn và W3 Total Cache, nhưng khi em sử dùng dạng Mirror thì chẳng thấy file nào load từ cdn.tapvietblog.info cả. Em thấy ở blog anh có load từ CDN, ở eblogviet và 1 số blog khác nữa, có mỗi blog em là khác.
16/07/2010
chú dùng w3 total cache thì ko nên dùng gzip bằng php nữa, bỏ hết đi và chuyển về dạng file bình thường, vì để đuôi php nó ko nhận đâu, anh thấy chú cấu hình vậy đúng rồi, chỉ còn mỗi lỗi đó thôi
16/07/2010
Thảo nào trước khi gzip lại file css và file js em vẫn thấy trên CDN, gzip vào lại không thấy nữa. Có lẽ em để gzip thôi, CDN chắc cứ kệ nó vậy vì host em đặt ở US, giờ maxcdn vẫn chưa có ở châu Á.
Cảm ơn anh vì đã giúp đỡ em. Hôm trước em gửi tin nhắn hỏi cái này qua Gtalk cho anh rồi
16/07/2010
Đúng là như vậy, em đang áp dụng nó, nhưng nói trước là nó xung đột VS plugins All in One SEO pack nhé
25/07/2010
Mình dùng Hybrid nên phải thêm cái code gzip vào file header.php. Giờ có thêm 2 cách này nữa thì trong 3 cách cách nào tốt nhất vậy ?
14/07/2010
Theo mình thì cách sử dụng Mod_Gzip nhỉnh hơn 2 cách kia 1 tí vì bạn chỉ phải thêm vài dòng vào .htaccess thôi mà không cần can thiệp trực tiếp vào code. Đặc biệt chỉ cần copy và paste nên đơn giản và hiệu quả
14/07/2010
Bạn có thể nói rõ hơn cho mình biết là nó hiệu quả hơn 2 cái kia thế nào không ? Mình dùng W3 Total Cache thì thấy cái nén HTML bằng deflate chứ không phải deflare. Hiện mình đang bật cả gzip và deflate (best) nhưng không thấy thay đổi gì nhiều lắm.
15/07/2010
À, lúc gõ mình nhầm. Deflate mới đúng.
Nếu bạn đã dùng W3 Total Cache rồi thì mình nghĩ không cần xài thêm cách thêm dòng vào .htaccess này đâu vì W3 Total Cache đã làm những công việc tương tự rồi. Còn về thay đổi hay không thì phải nhờ công cụ đánh giá chuyên dụng thì mới biết được, có thể sử dụng YSlow của Yahoo và test trước và sau khi thực hiện.
15/07/2010
Có vẻ cái code của deflate hơi thừa
Mà khi mình xem YSlow thì cái CDN và Header Expired bị điểm F, làm thế nào nhì ?
16/07/2010
YSlow nó có gợi ý phương pháp khắc phục mà bạn
16/07/2010
Có gợi ý nhưng mình không biết cách xử lý ý chứ
Bạn có thể xem giúp mình tại đây :
http://img12.imageshack.us/img12/246/yslowtvb.jpg
Hoặc check hộ trên trang của mình với.
16/07/2010
Về mặt CDN, điểm dựa trên nhà cung cấp CDN mà bạn dùng, nhưng tiếc 1 cái là thằng YSlow lại dựa trên cái list các nhà CDN của Yahoo nên nhiều khi không có tên nhà cung cấp CDN của bạn. Vì vậy có thể làm theo hướng dẫn của link sau
http://developer.yahoo.com/yslow/faq.html#faq_cdn
Còn về Expire headers là khoảng thời gian mà mấy cái file được trình duyệt cache lại. Xem đoạn mod_deflate bạn sẽ thấy có 1 khúc nó set thời gian Expire headers
Với lại mình vừa check trang bạn, gần như là A hết rồi mà, chỉ có cái CDN là F thôi, chắc tại bạn chưa dùng CDN cho blog
16/07/2010
Ừ, do mình cấu hình cdn không chuẩn ý mà
Cảm ơn Shiho nhé :-”
16/07/2010
Cho mình hỏi mình dùng modun này cho nukeviet được không bạn
14/07/2010
tất cả các web cài trên server Linux và có Apache đều xài được
14/07/2010
Làm cách nào để biết nó có hoạt động hay không?
13/07/2010
Bác chỉ cần nhìn hiệu quả sau khi cài vào là biết ấy mà
Ngoài ra, bác có thể kiểm tra bằng cách xài YSlow trước và sau khi xài tính năng này.
14/07/2010
Thanks bác, để e thử xem có nhanh hơn không

13/07/2010
chỉ việc copy vôi thôi hả bác, đơn giản quá vậy, để em thử xem sao… thanks bác
13/07/2010
14/07/2010