Ошибка nginx pcre_compile при использовании квантификаторов

14

У меня проблема с псевдонимами. Я хочу добавить до первых 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;
}

Это ошибка, которую я получаю:

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

У кого-нибудь есть идеи, как заставить это работать? Похоже, у него есть проблема с "{1,4}". Есть ли другой способ сделать то, что я хочу?

Эхо говорит Восстановить Монику
источник
Вы должны принять решение @ShaneMadden, работает отлично!
Стефано
1
@ Stefano Спасибо за напоминание. Это не позволило мне принять это сразу, а потом я забыл об этом.
Эхо говорит Восстановить Монику
это происходит со мной все время и по разным причинам, поэтому я склонен вспоминать других ;-)
Stefano

Ответы:

24

Он показывает, что вы запускаете содержимое блока местоположения. Это неправильно цифры.

Оберните это в кавычки:

location ~ "^/i/gallery2/(\d{1,4})(.*)$" {
Шейн Мэдден
источник