/sitemap.xml Response Headers shows 1 day expiration while expected to be 1 year (or at least 1 week) Content-Type: application/xml; charset=utf-8 Date: Tue, 27 Dec 2016 19:59:00 GMT Expires: Wed, 28 Dec 2016 19:59:00 GMT seems SetHandler forces text/html expiration and doesn't allow to rewrite it ExpiresActive On ExpiresDefault "access plus 1 month" ExpiresByType text/html "access plus 1 day" ExpiresByType application/xml "access plus 1 week" <FilesMatch ^sitemap\.xml$> SetHandler application/x-httpd-php Header set Content-Type "application/xml" ExpiresDefault "access plus 1 year" </FilesMatch> the loaded modules order doesn't fix it either ... LoadModule expires_module modules/mod_expires.so LoadModule headers_module modules/mod_headers.so ...