Rewriting for revisioned URLs

Igor Sysoev is at rambler-co.ru
Thu May 21 22:07:13 MSD 2009


On Thu, May 21, 2009 at 01:02:50PM -0500, Brian Kirkbride wrote:

> Igor Sysoev wrote:
> >On Thu, May 21, 2009 at 10:50:04AM -0500, Brian Kirkbride wrote:
> >
> >>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?
> >
> >location ~ ^/r\d+(/.*)$ {
> >    expires max;
> >    try_files  $1  @catalyst;
> >}
> >
> >
> 
> 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.

Probably you need to set "root" inside this location or at server level.


-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list