Monday, May 21, 2012

Add Expire Headers in php cant make it work


I have Yslow add-on installed



alt text



When I checks my application in Yslow I get Add Expires headers which I don't know



alt text



I searched for relevant questions in SO and also Google I found this method appropriate




<?
header("Expires:".gmdate('D, d M Y H:i:s \G\M\T', time() + 3600));
header("Cache-Control: no-cache");
header("Pragma: no-cache");
ob_start();
session_cache_limiter('public');
session_start();
?>
<html>



But still it shows me same



As i am newbie I don't know much about .htaccess



Please help me improve applications performance



Thanks in advance



Wazzy


Source: Tips4all

1 comment:

  1. That will only set it for your page content and not things like images and css files, i noticed on your screenshot it says 42 files, presumably these are your images, css, js etc.

    Try this in your .htaccess file, note this will only work if you have mod_expires and mod_headers enabled in Apache:

    <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>

    ReplyDelete