Hi all,
I’m trying to switch us from LigHTTPD to NginX and have run into some
issues. Any help is much appreciated.
We use revisioned URLs to allow for far-future caching of resources
(e.g. http://example.com/r1234567890/site.css) and are having trouble
getting this to work.
Basically we need to strip /r1234567890 from the front of the URI and
set expires to max, then check for a file and fallback to FastCGI.
I’ve tried something like:
location ~ ^/r[0-9]+ {
if ( $uri ~ ^/r([0-9]+)(/.*)$ ) {
set $rev $1;
set $realuri $2;
}
expires max;
try_files $root/$realuri @catalyst;
}
with no luck. Any ideas?
Thanks in advance!
On Thu, May 21, 2009 at 10:50 PM, Brian Kirkbride
[email protected] wrote:
expires to max, then check for a file and fallback to FastCGI.
I’ve tried something like:
location ~ ^/r[0-9]+ {
  if ( $uri ~ ^/r([0-9]+)(/.*)$ ) {
    set $rev $1;
c> Â Â Â Â set $realuri $2;
  }
  expires max;
  try_files $root/$realuri @catalyst;
try_files $realuri @catalyst;
?
On Thu, May 21, 2009 at 11:09 PM, Edho P Arief [email protected]
wrote:
  }
  expires max;
  try_files $root/$realuri @catalyst;
try_files $realuri @catalyst;
?
also iirc you can regex the location
location ~ ^/r([0-9]+)(/.*)$ {
set $rev $1;
set $realuri $2;
expires max;
try_files $realuri @catalyst;
}
(or something like that)
On Thu, May 21, 2009 at 10:50:04AM -0500, Brian Kirkbride wrote:
set expires to max, then check for a file and fallback to FastCGI.
try_files $root/$realuri @catalyst;
}
with no luck. Any ideas?
location ~ ^/r\d+(/.*)$ {
expires max;
try_files $1 @catalyst;
}
Brian Kirkbride wrote:
location ~ ^/r[0-9]+ {
if ( $uri ~ ^/r([0-9]+)(/.*)$ ) {
Thanks in advance!
Your regex is bad and is trying to match from the beginning of the
string. Try /r([0-9]+)(/.*)$ instead.
Check it with http://www.regextester.com/
On Thu, May 21, 2009 at 01:02:50PM -0500, Brian Kirkbride wrote:
getting this to work.
set $realuri $2;
try_files $1 @catalyst;
location ~ ^/r\d+(/.*)$ {
set $look $1;
expires max;
try_files $look @catalyst;
}
This is on 0.6.36 btw.
Probably you need to set “root” inside this location or at server level.
Brian,
As I said, your original regex is wrong. You need to remove the ^
–Jauder
Igor S. wrote:
}
}
Thanks Igor, but no luck. It always falls back to @catalyst, even
when the file exists. I have debugging enabled and logging, but I
don’t see anything in the error log to show where it is looking.
I also tried this as well with no luck:
location ~ ^/r\d+(/.*)$ {
set $look $1;
expires max;
try_files $look @catalyst;
}
This is on 0.6.36 btw.
Thanks Jauder, but that didn’t solve it.