On Tue, Dec 27, 2016 at 10:29 PM, Yehuda Katz <yeh...@ymkatz.net> 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>

It's likely just an ordering problem. mod_expires runs before
mod_headers and you can't really change it any meaningful way in this
case (you can ask mod_headers to run much earlier, but then your
scripts output will overwrite it anyway)

Presumably your script issues Content-Type: text/html which is bogus
and what's seen when mod_expires runs. A short while later,
mod_headers changes the content-type.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org

Reply via email to