Black_beard_ast
@Black_beard_ast
Sysadmin/Ops engineer.

Как задать в nginx диапазон цифр(регулярным выражением)?

Есть определенный url, который заканчивается цифрой. Мне нужно, чтоб при одном диапазоне(например до тысячи) срабатывало одно правило, при остальном другое. Нужную строчку в конфиге я уже нашел, но не могу задать диапазон(
Как пример - [0-9] для всех цифр, а мне нужен определенный диапазон. Опционально - можно по значности, т.е. двухзначное/трехзначное и т.д.
  • Вопрос задан
  • 1149 просмотров
Решения вопроса 1
Вероятно что-то типа такого

location ~ "^/[\d]{2}" {
    # ...
}

location ~ "^/[\d]{3}" {
    # ...
}

location ~ "^/[\d]{4}" {
    # ...
}


Но это по разрядам
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@RidgeA
Ну не работают регулярки с цифрами, не работают
Они работают со строками

Надо задать регулярку под которую матчится строка от э '1' до ''1000' - как минимум можно проверять количество цифр подряд в строке в строке. Для этого есть квантификаторы.
Ответ написан
Комментировать
sim3x
@sim3x
Ответ написан
Комментировать
skobkin
@skobkin
Гентушник, разработчик на PHP и Symfony.
Можно воспользоваться таким подходом.
https://stackoverflow.com/questions/8592488/regex-...

Но вообще лучше заниматься разбором параметров запроса внутри приложения, а не в Nginx.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы