Yaniv Cohen
Yaniv Cohen

Reputation: 379

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 httpd.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?

Upvotes: 5

Views: 3274

Answers (3)

Mr. Ronald
Mr. Ronald

Reputation: 697

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

Upvotes: 2

symcbean
symcbean

Reputation: 48357

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.

Upvotes: 2

ty812
ty812

Reputation: 3323

Try switching the LocationMatch brackets.

Alternatively: Some proxy servers remove the expires-header.

Upvotes: 0

Related Questions