![HAProxy 中 URL 的正規表示式](https://rvso.com/image/668793/HAProxy%20%E4%B8%AD%20URL%20%E7%9A%84%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%A4%BA%E5%BC%8F.png)
我正在嘗試為 haproxy 建立一個 reg exp,它將匹配第二個 URL,並將其定向到與第一個 URL 不同的 acl:
mysite.com/path/
mysite.com/path/something_random
問題是我的第一個 reg exp 與上面的兩個 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