a newbie question regarding regex in nginx conf

Maxim Dounin mdounin at mdounin.ru
Wed Sep 3 19:58:35 MSD 2008


On Wed, Sep 03, 2008 at 11:33:15PM +0800, Zhang Yining wrote:

>Hi list,
>I have a question regarding regex in nginx conf, and believe it must
>have been brought up before, yet after googling for it, I could not find
>an answer.
>Specifically, is it possible to use curly braces in nginx conf?
>For example, for some url like: /photos/123456
>I would want to rewrite it to: /path/to/photos/12/1234/123456.png
>in apache's conf rewrite rule, I could use something like:
>[0-9]{2}[0-9]{2}[0-9]{2}  /path/to/photos/$1/$1$2/$1$2$3.png
>But it seems curly braces are reserved for nginx conf file's own use,
>and not recognized by the regex processing.
>So is there any way to use curly braces in regex? If so, could some one
>kind enough to provide a link or short explanation of how to do it?

Just quote the regex, i.e:

rewrite  "([0-9]{2})([0-9]{2})([0-9]{2})"  /path/to/photos/$1/$1$2/$1$2$3.png;

(single quotes will do the trick too).

It's documented in 
(in russian), but not (yet) in english wiki.  Feel free to update 

Maxim Dounin

More information about the nginx mailing list