我正在尝试为 haproxy 构建一个 reg exp,它将匹配第二个 URL,并将其指向与第一个不同的 acl:
mysite.com/path/
mysite.com/path/something_random
问题是,我的第一个 reg exp 匹配了上面的两个 url,而它应该只匹配第二个 url。我也找不到更多关于 haproxy regex 格式的文档,所以我甚至不确定在哪里可以找到我应该用于匹配的 reg exp 格式。reg exp pro 能帮我吗?我是新手,谢谢。
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