2016-05-02 5 views
1

Я использую эту переписку в NGINX.
rewrite ^/test[^a-zA-Z0-9]{2}/?$ https://www.google.com permanent; // doesn't worknginx rewrite regex min, max повторение

Сервер не запускается с добавляю min {2} повторения в регулярных выражениях. Сервер приходит, когда я удаляю, что, как здесь:
rewrite ^/test[^a-zA-Z0-9]/?$ https://www.google.com permanent; // this works

Я попробовал оба {min,max} Params. Ошибка, которую я получаю при повторении min, приведена ниже.
directive "rewrite" is not terminated by ";"

В контексте этой переписки server.

Может ли кто-нибудь сказать, что мне не хватает? Есть ли какой-то модуль, который необходимо установить для этого?
Моя версия для NGINX 1.4, и я попробовал ее на своем местном с 1.10.

ответ

2

Это по дизайну - фигурные скобки являются специальными в nginx.conf, если они используются как часть обычного выражения, тогда вам нужно использовать двойные кавычки вокруг вашего регулярного выражения, если вы используете фигурные скобки.

http://nginx.org/r/rewrite

Если регулярное выражение включает в себя «}» или «;» символы, целые выражения должны быть заключены в одинарные или двойные кавычки.

Е.Г.,

rewrite "^/test[^a-zA-Z0-9]{2}/?$" https://www.google.com/ permanent; 
+1

Ааа. Благодарю. Я знал, что это нечто тривиальное. Примут через 5 минут. – Abhishek