Request for a "no capture" rewrite directive enhancement

B.R. reallfqq-nginx at yahoo.fr
Thu May 29 02:45:51 UTC 2014


Yup the location directive uses the PCRE library to interpret regex.
Its docs doesn't mention that the regex are PCRE, but the hint is given
away on the build from sources <http://nginx.org/en/docs/configure.html>page.

It reminds me that not so long ago I mixed up named captures and
subpatterns syntax trying to play with PCRE in location... but that is
another story ;o)

Glad I could help!
---
*B. R.*


On Thu, May 29, 2014 at 4:09 AM, Peter Mescalchin <
peter.mescalchin at gmail.com> wrote:

> Fantastic Igor - I didn't know that you could do named captures in Nginx -
> good to know.
>
> That solves it rather nicely.
>
> And thanks B.R. - yep, that syntax is part of PCRE.
>
>
>   Pete
>
>
>
> > I think Igor is suggesting PERL named captures.
> >
> > Although, it appears to me the correct syntax would rather be
> (?<name>...),
> > as perlre docs <http://perldoc.perl.org/perlre.html#Extended-Patterns
> >state.
> > Then, just use you first syntax (omitting the 'set' directives).
> > ---
> > *B. R.*
> >
> >
> > On Wed, May 28, 2014 at 12:02 PM, Igor Sysoev <igor at sysoev.ru> wrote:
> >
> > > On 28 May 2014, at 08:55, Peter Mescalchin <peter.mescalchin at
> gmail.com>
> > > wrote:
> > >
> > > Thanks Igor,
> > >
> > >    I had explored that method already, sadly (as you know) "alias" is
> > > given as an absolute path meaning I can't use this block of config
> within
> > > multiple virtual hosts which I include; - would have to re-write this
> same
> > > block of config for each Virtual host modifying the alias path prefix.
> > >
> > > And since alias man page explicitly states that $document_root can't be
> > > used it's not possible to complete this config in a reusable way. (e.g.
> > > alias $document_root/path/to/$1/$2; would be perfect).
> > >
> > > Alas, I think what I have (storing the captures in temp vars) is the
> only
> > > real solution thus far.
> > >
> > > Unless the penny hasn't dropped in my head? :)
> > >
> > >
> > > Then you can set these variable directly in regex:
> > > location ~
> "^/[a-f0-9]{16}/(<?resource_type>css|js)/(<?resource_path>.+)” {
> > >
> > >
> > > --
> > > Igor Sysoev
> > > http://nginx.com
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20140529/74227c8c/attachment.html>


More information about the nginx mailing list