开发者

mod_expires sending Cache-Control headers for 3## status codes

Apache is sending Cache-Control headers for 3## status codes, like 302 redirects. This is causing Firefox (possibly starting with Firefox 5) to cache the 302 redirects--which results in an infinite redirect loop for some of my pages.

Here are the settings that I am using in my httpd.conf:

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A600
</IfModule&g开发者_如何学Pythont;

If I remove the ExpiresDefault setting, the problem goes away, so I am confident that this is the exact setting that is causing the problem. If I change ExpiresDefault A600 to ExpiresByType text/html A600 the problem is still there.

I'd like to have browsers cache my content by default, but this is a deal-breaker.

Are there any settings I can use to tell Apache to send a different Cache-Control header for 3## status codes?


If you add the Cache-Control headers in your application, which builds the redirect, apache will not overwrite it.

Cache-Control: max-age=0
Expires: Sat, 04 Feb 2012 07:02:38 GMT

if you use apaches mod_rewrite to do the redirect you could add the headers with the mod_headers module.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜