开发者

Setting expires header for a specific URI?

I'm trying to set expire header for a specific URI but for some reason it is not working, what I've done so far in the http开发者_如何学运维d.conf file was the following:

<LocationMatch "/mysite/contentservices/weather/get.json">
  ExpiresDefault A86400
</LocationMatch>

<LocationMatch "/mysite/*">
  Options FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  Allow from all
  ExpiresByType text/css "access plus 1 day"
  ExpiresByType text/javascript "access plus 1 day"
  ExpiresByType image/gif "access plus 1 week"
  ExpiresByType image/jpg "access plus 1 week"
  ExpiresByType image/png "access plus 1 week"
  ExpiresByType application/x-shockwave-flash "access plus 1 week"
</LocationMatch>

This simply does not work for me. I get no expiry date headers for the contents I specified. I also don't understand what exactly happens when you have two LocationMatch directives that overlap that the first one takes precedence?


I'm not sure but the docs do not mention LocationMatch as possible context.

"Context: server config, virtual host, directory, .htaccess"

http://httpd.apache.org/docs/2.0/mod/mod_expires.html


I assume that /mysite/contentservices/weather/get.json is a static data file and NOT served up by CGI / mod_php / something else?

The configs are applied in the order in which they are found in the config file.

See http://httpd.apache.org/docs/2.0/sections.html

Although given no other factors the different formatting of the argument shouldn't be a problem, it might be worth checking what happens if you try:

<LocationMatch "/mysite/contentservices/weather/get.json">
  ExpiresDefault "access plus 1 day"
</LocationMatch>

C.


Try switching the LocationMatch brackets.

Alternatively: Some proxy servers remove the expires-header.

0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜