@RuRoman

Как изменить правило редиректа чтобы только url с цифрами и буквами редиректелись?

Есть правило которое отлавливает URL формата: "example.ru/ds5tf/"
Пять символов среди которых обязательно есть цифры и обязательно есть буквы.

Правило:
location ~* "^/[0-9a-z]{5}/$" {
}

Редирект если в url соответствует, но под это правило попадают URL вида /about/ и /sales/ - в которых нет цифр.
Можно ли как-то чтобы эти url не попадали под правило?
  • Вопрос задан
  • 55 просмотров
Решения вопроса 1
@dodo512
location ~* "^/(?=.*[a-z])(?=.*\d)[a-z\d]{5}/$" {
}

Или
location ~* "^/(?>[a-z]()|\d()){5}/$\1\2" {
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@maximq
QA Engineer
Выше уже ответили, но совет вам: изучить регулярные выражения.
Раз, два
Онлайн инструмент

На вашем примере в вышеуказанном инструменте, наглядно показано какие варианты будут подобраны:
https://regex101.com/r/TBjeYo/1
Ответ написан
Ваш ответ на вопрос

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

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