![Reg Exp для URL в HAProxy](https://rvso.com/image/668793/Reg%20Exp%20%D0%B4%D0%BB%D1%8F%20URL%20%D0%B2%20HAProxy.png)
Я пытаюсь создать регулярное выражение для haproxy, которое будет соответствовать второму URL-адресу и направлять его в другой acl, нежели первый:
mysite.com/path/
mysite.com/path/something_random
Проблема в том, что мой первый reg exp соответствует обоим URL-адресам выше, когда он должен соответствовать только второму. Я не могу найти больше документации по формату haproxy regex, поэтому я даже не уверен, где ссылаться на формат reg exp, который я должен использовать для сопоставления. Могут ли мне помочь профессионалы reg exp? Я новичок в этом, спасибо.
acl filebrowser_route path_reg ^/path/.*
acl filebrowser url_beg /path
решение1
Вам необходимо построить два взаимоисключающих регулярных выражения: только одно из них может быть истинным в каждый момент времени:
А что если сделать второй элемент регулярным выражением вроде:
^/path[^/]
Означает [^/]
«любой символ, кроме /».
Вот три взаимоисключающих URL:
acl fb1 path_reg ^/path$ # Just /path
acl fb2 path_reg ^/path/$ # Just /path/
acl fb3 path_reg ^/path/..*$ # /path/ plus at least 1 character