So, i have Yslow and i'm trying to ADD Expires headers.
So i have a .htaccess
on the root of my website :
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
ExpiresByType application/javascript "access plus 216000 seconds"
</ifModule>
<ifModule mod_headers.c>
<filesMatch "\\.(ico|pdf|flv|jpg|jpeg|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 "\\.(xml|txt)$">
Header set Cache-Control "max-age=216000, public, must-revalidate"
</filesMatch>
<filesMatch "\\.(html|htm|php)$">
Header set Cache-Control "max-age=1, private, must-revalidate"
</filesMatch>
</ifModule>
I have enable mod_headers and mod_expires :
root@heisenberg:~# a2enmod headers
Module headers already enabled
root@heisenberg:~# a2enmod expires
Module expires already enabled
But no effect, i have ALWAYS "F" with Yslow... What can i do for that ? I have already read the others topics of stackoverflow....
Thanks !
When faced with a similar problem, the following link helped me set up expires headers on Apache.
http://www.simonwhatley.co.uk/how-to-set-an-expires-header-in-apache.
Adding ExpiresActive On before and ExpiresByType inside the document module in the project configuration in httpd.conf did the trick for me. Maybe this helps you too.
Also, I did not need to add Cache-Control to headers. They were automatically added to the headers. I'm not a pro but this is what I observed.