My PHP code:
$expires_date = date('D, j F Y H:i:s', strtotime('now + 10 years')) . ' GMT';
header("Expires: $expires_date");
header('Content-type: text/javascript');
echo 'hello world';
When I check the response headers, I see this:
Expires:Thu, 01 Jan 1970 00:00:00 GMT
What am I doing wrong?
UPDATE:
Was just experimenting, but it seems that I can't even unset Expires via header_remove('Expires');
. I still see the 1970 date.
UPDATE:
My response headers:
Cache-Control:private
Connection:Keep-Alive
Content-Encoding:gzip
Content-Length:74
Content-Type:text/javascript
Date:Wed, 17 Oct 2012 22:40:45 GMT
Expires:Thu, 01 Jan 1970 00:00:00 GMT
Keep-Alive:timeout=5, max=98
Server:Apache/2.2.21 (Win32) PHP/5.3.9
Vary:Accept-Encoding
X-Powered-By:PHP/5.3.9
date
works just fine. – PolyphemusExpiresByType text/javascript "access plus 10 years"
. When the resource is downloaded from my server, this works. What doesn't seem to work is when I try to do it in PHP. – Polyphemus