בע"ה
Isn't Apache expected to handle/support it? Why ExpiresDefault in FilesMatch doesn't work (also doesn't rewrite ExpiresByType defined above the FilesMatch)? Binyamin On Wed, Dec 28, 2016 at 9:15 AM, Michael A. Peters <mpet...@domblogger.net> wrote: > Oh I should add - when it is a php file I also set the cache control via > php. > > header('Cache-Control: max-age=' . $maxage); > > for example. > > > On 12/27/2016 11:12 PM, Michael A. Peters wrote: > >> Hi, I regularly use php to generate all kinds of different XML. >> >> This is what I do - >> >> header('Content-Type: application/xml'); >> print($dom->saveXML()); >> exit(); >> >> Of course in that case $dom is a DOMDocument object - if you are using >> print or echo to create XML then you need the header at the beginning of >> the php, as it needs to be before any content is sent. >> >> Using php to send the header avoids the need to set it with Apache. >> >> >> On 12/27/2016 10:58 PM, Binyamin wrote: >> >>> בע"ה >>> >>> Hi, >>> >>> As I wrote in earlier example, `Header set Content-Type >>> "application/xml"` still returns 1 day expiration (not the one defined >>> in ExpiresByType). >>> The same result when switching configuration order of FilesMatch >>> before ExpiresDefault, or order of LoadModule's expires_module and >>> headers_module. >>> >>> Also this example will return expiration only 1 day, while expected 1 >>> year: >>> >>> <FilesMatch ^sitemap\.php$> >>> Header set Content-Type "application/xml" >>> ExpiresDefault "access plus 1 year" >>> </FilesMatch> >>> >>> it returns >>> >>> Content-Type: application/xml >>> Date: Wed, 28 Dec 2016 06:38:09 GMT >>> Expires: Thu, 29 Dec 2016 06:38:09 GMT >>> >>> >>> It seems to as a Apache bug. I don't know if ever it was working. >>> >>> Any workaround (configuration fix) for it for now? >>> Do you know if it worked right in any Apache build/version? >>> >>> >>> Binyamin >>> >>> >>> On Wed, Dec 28, 2016 at 5:29 AM, Yehuda Katz <yeh...@ymkatz.net >>> <mailto:yeh...@ymkatz.net>> wrote: >>> >>> It might have something to do with the order the modules handle the >>> request. >>> What happens if you tell PHP to set the content type to >>> application/xml? >>> >>> - Y >>> >>> On Tue, Dec 27, 2016 at 3:55 PM, Binyamin <7rai...@inbox.lv >>> <mailto:7rai...@inbox.lv>> wrote: >>> >>> בע"ה >>> >>> >>> Why ExpiresByType is ignored when has SetHandler >>> application/x-httpd-php ? >>> >>> /sitemap.xml Response Headers shows 1 day expiration while >>> expected to be 1 year (1 month) >>> >>> 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 it to apply 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> >>> >>> tested on Apache 2.4.X builds. >>> >>> How to fix this issue? >>> >>> >>> >>> Binyamin >>> >>> >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org >> For additional commands, e-mail: users-h...@httpd.apache.org >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org > For additional commands, e-mail: users-h...@httpd.apache.org > >