« SEO Redirects without mod_rewriteApache Authentication in htaccess »
Speed up your site with Caching and cache-control
Caching with .htaccess and Apache will take your website and your web skills to the next level. This is some technical and advanced methods condensed to simple htaccess code examples for you. But you must take the time to understand caching with cache-control and other headers and HTTP options before you implement on a production server.
More detailed article: Speed Up Sites with htaccess Caching.
NOTE: Stay tuned I’m working on the update!
« mod_rewrite tips and tricks | .htaccess Tutorial Index | » Apache Authentication in htaccess
Easy Apache Speed Tips Articles
# Turn on Expires and set default to 0 ExpiresActive On ExpiresDefault A0 # Set up caching on media files for 1 year (forever?) <FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$"> ExpiresDefault A29030400 Header append Cache-Control "public" </FilesMatch> # Set up caching on media files for 1 week <FilesMatch "\.(gif|jpg|jpeg|png|swf)$"> ExpiresDefault A604800 Header append Cache-Control "public" </FilesMatch> # Set up 2 Hour caching on commonly updated files <FilesMatch "\.(xml|txt|html|js|css)$"> ExpiresDefault A7200 Header append Cache-Control "proxy-revalidate" </FilesMatch> # Force no caching for dynamic files <FilesMatch "\.(php|cgi|pl|htm)$"> ExpiresActive Off Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform" Header set Pragma "no-cache" </FilesMatch>
# 1 YEAR <FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$"> Header set Cache-Control "max-age=29030400, public" </FilesMatch> # 1 WEEK <FilesMatch "\.(jpg|jpeg|png|gif|swf)$"> Header set Cache-Control "max-age=604800, public" </FilesMatch> # 3 HOUR <FilesMatch "\.(txt|xml|js|css)$"> Header set Cache-Control "max-age=10800" </FilesMatch> # NEVER CACHE <FilesMatch "\.(html|htm|php|cgi|pl)$"> Header set Cache-Control "max-age=0, private, no-store, no-cache, must-revalidate" </FilesMatch>
ExpiresActive On ExpiresDefault A0 # 1 YEAR <FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$"> ExpiresDefault A9030400 </FilesMatch> # 1 WEEK <FilesMatch "\.(jpg|jpeg|png|gif|swf)$"> ExpiresDefault A604800 </FilesMatch> # 3 HOUR <FilesMatch "\.(txt|xml|js|css)$"> ExpiresDefault A10800" </FilesMatch>
To truly speed up your site, you will want to implement a server-side caching technique. Or you can read more about caching and web cache.
This document supplements the mod_cache, mod_disk_cache, mod_mem_cache, mod_file_cache and htcacheclean reference documentation.
It describes how to use Apache’s caching features to accelerate web and proxy serving, while avoiding common problems and misconfigurations.
# 300 5 MIN # 600 10 MIN # 900 15 MIN # 1800 30 MIN # 2700 45 MIN # 3600 1 HR # 7200 2 HR # 10800 3 HR # 14400 4 HR # 18000 5 HR # 36000 10 HR # 39600 11 HR # 43200 12 HR # 46800 13 HR # 50400 14 HR # 54000 15 HR # 86400 1 DAY # 172800 2 DAY # 259200 3 DAY # 345600 4 DAY # 432000 5 DAY # 518400 6 DAY # 604800 1 WEEK # 1209600 2 WEEK # 1814400 3 WEEK # 2419200 4 WEEK # 4838400 2 MONTH # 7257600 3 MONTH # 9676800 4 MONTH # 12096000 5 MONTH # 14515200 6 MONTH # 16934400 7 MONTH # 19353600 8 MONTH # 21772800 9 MONTH # 24192000 10 MONTH # 26611200 11 MONTH # 29030400 12 MONTH
« mod_rewrite tips and tricks | .htaccess Tutorial Index | » Apache Authentication in htaccess
« SEO Redirects without mod_rewrite
Apache Authentication in htaccess »
The love of liberty is the love of others; the love of power is the love of ourselves.
-- William Hazlitt
The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect. Tim Berners-Lee
thanks… very useful article that saved me from searching.
good luck
I find these code quite interesting and i have noticed a better performance in my blog already. What i would like to know if i can use the first code at the beginning of this page:
# Turn on Expires and set default to 0 ExpiresActive On ExpiresDefault A0 # Set up caching on media files for 1 year (forever?) ExpiresDefault A29030400 Header append Cache-Control "public" # Set up caching on media files for 1 week ExpiresDefault A604800
… with this other one:
# 1 YEAR Header set Cache-Control "max-age=29030400, public" # 1 WEEK Header set Cache-Control "max-age=604800, public" # 2 DAYS Header set Cache-Control "max-age=172800, proxy-revalidate" # 1 MIN Header set Cache-Control "max-age=60, private, proxy-revalidate"
Since i am not into these things it looks like if i use both of them my website is faster, but i would like an input from you to see if i am right or now.
Also, i understand the second code i wrote in this comment but.. what is the difference between these two codes simply put? thanks and i hope to get a reply from you
I was wondering. Say I want to my .css files to be cached for 15 minutes, my .html files for another 30 minutes and no cache at all for my .php files. How can I do this easily ?
Thanks for the article. I have been searching for a long time trying to figure out how to use header expires, this was extremely helpful. You can count on me for a few links here and there!
I couldn’t understand some parts of this article o.us poetry, but I guess I just need to check some more resources regarding this, because it sounds interesting.
Tags: 301 Redirect, 401, 403 Forbidden, Advanced, Apache, Apache Htaccess, apache ssl, askapache, Cache, Cache-Control, caching, cheatsheet, compression, CSS, Etags, Examples, expires header, FilesMatch, Hacking, Htaccess, htaccess guide, htaccess tricks, htaccess tutorial, Htpasswd, HTTP Headers, HTTPS SSL, Last-Modified, Mod_Rewrite, Mod_Rewrite examples, Mod_Security, PDF, PHP, ram, Redirect, Rewrite Tricks, rewritecond, rewriterule, Security, SEO, server, SetEnvIf, SPEED, SSI, trick, tutorial,
It's very simple - you read the protocol and write the code. -Bill Joy
HTML | DCMI | GRDDL | XOXO | XDMP | XFN | DOM | XML | XHTML 1.1 Strict | CSS 2.1 | W3C
↑ TOPExcept where otherwise noted, content on this site is licensed under a Creative Commons Attribution 3.0 License, just credit with a link.
This site is not supported or endorsed by The Apache Software Foundation (ASF). All software and documentation produced by The ASF is licensed. "Apache" is a trademark of The ASF. NCSA HTTPd.
UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[...] viele Elemente in dem BrowserCache vorzuhalten, sollte man die Expires Headers richtig setzen.Dieser Artikel gibt eine kurze Anleitung für Apache & mod_rewrite.Ich benutze z.B. folgendes in meiner [...]