![HAProxy の URL の正規表現](https://rvso.com/image/668793/HAProxy%20%E3%81%AE%20URL%20%E3%81%AE%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE.png)
2 番目の URL に一致し、最初の URL とは異なる ACL に誘導する haproxy の正規表現を構築しようとしています。
mysite.com/path/
mysite.com/path/something_random
問題は、最初の正規表現が、2 番目の URL にのみ一致するはずなのに、上記の両方の URL に一致することです。haproxy 正規表現の形式に関する詳細なドキュメントも見つからないため、一致に使用する正規表現形式をどこで参照すればよいのかさえわかりません。正規表現のプロが助けてくれますか。私はこの分野に不慣れなので、よろしくお願いします。
acl filebrowser_route path_reg ^/path/.*
acl filebrowser url_beg /path
答え1
相互に排他的な 2 つの正規表現を構築する必要があります。一度に真になるのは 1 つだけです。
2 番目の項目を次のような正規表現にしたらどうでしょうか:
^/path[^/]
は[^/]
「/ 以外の任意の文字」を意味します。
相互に排他的な 3 つの 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