Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Testing performance improvements, I added an .htaccess file with the following directives to my /assets folder (where I store a few images of various types).

<FilesMatch "\.(jpg|jpeg|png|gif)$">
  Header set Cache-Control "public,max-age=7200"

Looking at ySlow's output, it bizarrely shows me this:

Resource                        Expires
/assets/slide-1.jpg             2012/5/22
/assets/partners/part_01.gif    2012/5/22
/assets/partners/spacer.gif     2010/4/15

Inspecting spacer.gif's header, I note that the one gif has both my Cache-Control: public,max-age=7200 header and an Expires: Thu, 15 Apr 2010 20:00:00 GMT header, whereas all of the other images in the folder respect the max-age header and have no explicit expiration header.

I'm certain that there are no other filename-specific cache-control directives at play. I used to have a cache-busting in-the-past-expiration-date header in the web root, but that's since been removed, and seems not to be 'sticky' for any of the other files.

Why might this be?

share|improve this question

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.