Re: Request for a "no capture" rewrite directive enhancement


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.


I think Igor is suggesting PERL named captures.

Although, it appears to me the correct syntax would rather be
as perlre docs <
Then, just use you first syntax (omitting the ‘set’ directives).

B. R.

On Wed, May 28, 2014 at 12:02 PM, Igor S. wrote:

On 28 May 2014, at 08:55, Peter M. <peter.mescalchin at>


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

multiple virtual hosts which I include; - would have to re-write this

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

real solution thus far.

Unless the penny hasn’t dropped in my head? :slight_smile:

Then you can set these variable directly in regex:
location ~
"^/[a-f0-9]{16}/(<?resource_type>css|js)/(<?resource_path>.+)” {


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

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 M. <