使用量词时 nginx pcre_compile 错误

Ech*_*ica 14 nginx regex

我遇到了别名问题。我想附加到文件的前 4 位数字作为目录的一部分。(如 '../123456.jpg'=>'../123/123456.jpg' 和 '../12.png'=>'../12/12.png')

这是我所拥有的:

location ~ ^/i/gallery2/(\d{1,4})(.*)$ {
    alias /home/web/images/gallery/$1/$1$2;
}
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

nginx: [emerg] pcre_compile() failed: missing ) in "^/i/gallery2/(\d"
Run Code Online (Sandbox Code Playgroud)

任何人都有任何想法如何让它发挥作用?看起来“{1,4}”有问题有没有另一种方式来做我想要的?

Sha*_*den 25

它表明您正在启动位置块的内容。算错了。

用引号括起来:

location ~ "^/i/gallery2/(\d{1,4})(.*)$" {
Run Code Online (Sandbox Code Playgroud)