rewriting a filename in any directory

Igor Sysoev is at rambler-co.ru
Fri Jan 23 21:57:14 MSK 2009


On Fri, Jan 23, 2009 at 11:47:50AM -0700, Aaron wrote:

> No.. We have MANY directories and I need a rewrite rule that will work
> for all subdirectories as well as the root without having to specify
> the location for each directory.

If only "location /" matches /directory/, then it should work.

Also you may set

       rewrite ^(.*)/afv-(.*)-(.*)$ $1/$3 last;

on server level, then it will work for all locations.

> On Fri, Jan 23, 2009 at 9:53 AM, Igor Sysoev <is at rambler-co.ru> wrote:
> > On Fri, Jan 23, 2009 at 09:09:22AM -0700, Aaron wrote:
> >
> >> My current rewrite works for http://www.domain.com/af-856757-filename.txt
> >> but not for http://www.domain.com/directory/af-656556-filename.txt
> >
> > Do you have
> >
> >     location /directory/ {
> >
> > ?
> >
> >>
> >> On Fri, Jan 23, 2009 at 1:50 AM, Igor Sysoev <is at rambler-co.ru> wrote:
> >> > On Thu, Jan 22, 2009 at 11:31:01PM -0700, Aaron wrote:
> >> >
> >> >> I am trying to achieve the following:
> >> >>
> >> >> Request: http://www.domain.com/images/afv-585785-something.gif
> >> >> Would normally retrieve from : /public/images/afv-585785-something.gif
> >> >>
> >> >> I need it to actually retrieve : /public/images/something.gif
> >> >>
> >> >> So basically it needs to remove the "afv-######-" portion from the file request.
> >> >>
> >> >> I am doing this for cache/expire versioning purposes. I tried the
> >> >> following but it only works on the root folder and not subdirectories.
> >> >>
> >> >> location / {
> >> >> rewrite ^(.*)/afv-(.*)-(.*)$ $1/$3 last;
> >> >> }
> >> >>
> >> >> What am I doing wrong?
> >> >
> >> > What do you mean by subdirectories ?
> >> >
> >> >
> >> > --
> >> > Igor Sysoev
> >> > http://sysoev.ru/en/
> >> >
> >> >
> >
> > --
> > Igor Sysoev
> > http://sysoev.ru/en/
> >
> >

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





More information about the nginx mailing list