Erro nginx pcre_compile ao usar quantificadores


14

Estou tendo um problema com o alias. Quero acrescentar os 4 primeiros dígitos do arquivo como parte do diretório. (como '../123456.jpg'=>'../123/123456.jpg' e '../12/1245.png'=>'../12/12.png')

Aqui está o que eu tenho:

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

Este é o erro que recebo:

nginx: [emerg] pcre_compile() failed: missing ) in "^/i/gallery2/(\d"

Alguém tem alguma idéia de como fazer isso funcionar? Parece que tem um problema com o "{1,4}" Existe outra maneira de querer o que eu quero?


você deve aceitar a solução @ShaneMadden, funciona perfeitamente!
274 Stefano

1
@ Stefano Obrigado pelo lembrete. Não me deixou aceitar imediatamente e depois esqueci.
Echo diz Reinstate Monica

isso acontece comigo o tempo todo e por várias razões, é por isso que tendem a se lembrar dos outros ;-)
Stefano

Respostas:


24

Parece que você está iniciando o conteúdo do bloco de localização. Parece errado.

Coloque-o entre aspas:

location ~ "^/i/gallery2/(\d{1,4})(.*)$" {
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.