diff --git a/pkg/serverconfigs/shared/url_pattern.go b/pkg/serverconfigs/shared/url_pattern.go index 6dcd237..bf9554a 100644 --- a/pkg/serverconfigs/shared/url_pattern.go +++ b/pkg/serverconfigs/shared/url_pattern.go @@ -34,7 +34,7 @@ func (this *URLPattern) Init() error { for index, piece := range pieces { pieces[index] = regexp.QuoteMeta(piece) } - reg, err := regexp.Compile("(?i)" /** 大小写不敏感 **/ + strings.Join(pieces, "(.*)")) + reg, err := regexp.Compile("(?i)" /** 大小写不敏感 **/ + "^" + strings.Join(pieces, "(.*)") + "$") if err != nil { return err } diff --git a/pkg/serverconfigs/shared/url_pattern_test.go b/pkg/serverconfigs/shared/url_pattern_test.go index 1e7fa43..121482a 100644 --- a/pkg/serverconfigs/shared/url_pattern_test.go +++ b/pkg/serverconfigs/shared/url_pattern_test.go @@ -43,6 +43,12 @@ func TestURLPattern_Match(t *testing.T) { url: "https://example.com", result: true, }, + { + patternType: "wildcard", + pattern: "*COM", + url: "https://example.com/hello", + result: false, + }, { patternType: "wildcard", pattern: "http://*",