UrlList 语法参考文档

本指南介绍了安全 Web 代理的 UrlList 语法。

通过 UrlList,您可以创建多个可在多条规则中重复使用的匹配条目。

UrlList 语法支持完整或按后缀匹配网域,以及包含不含参数或前缀路径的完整路径的网址。

支持的通配符

UrlList 支持 * 星号通配符,您可以将其用作前缀来匹配部分子网域或部分路径。

当您提供部分网域时,UrlList 仅匹配完整的子网域令牌。如果未提供路径分隔符,则 UrlList 会匹配任何路径。例如,如果您提供 example.com,则 UrlListexample.com/*(包括网域中的所有路径)匹配。

UrlList 如何解读条目

安全 Web 代理使用您提供的 UrlList 格式与网址进行匹配,然后确定是允许还是禁止使用该网址。

UrlList 根据以下内容解释条目:

  • 包含英文句点 (.) 和正斜杠 (/) 的条目必须是格式正确的网址。您可以添加子网域和路径通配符。第一个 / 字符左侧的令牌被解释为顶级域名,如 google.com/news 中的 .com

  • 包含英文句点 (.) 且不包含正斜杠 (/) 的条目将被解释为域。您可以添加子网域通配符。在这种情况下,最右侧的令牌会被解释为顶级域名,例如 abc.xyz 中的 .xyz

  • 所有其他条目无效。

UrlList 模式与包含正斜杠 (/) 的值匹配时(如在 request.url() 中),系统会按照前文所述解释这些模式。但是,当 UrlList 模式与不带 / 的值匹配时(例如在 host() 中),则仅匹配该模式的域部分。

模式匹配示例

下表显示了示例格式、每种格式匹配的示例网址以及每种格式都不匹配的示例网址。

模式 会匹配出的结果 不匹配
*example.com

example.com/

server.example.com/

sample.server.example.com/

example.com/path

example.com/path?q=query

example.com/path/subpath

sample.server.example.com/path/

myexample.com/

example.com.bad.com/

us13.altostrat.com/go/example.com/path

www.google.com/search?q=example.com

*.example.com

server.example.com/

sample.server.example.com/

sample.server.example.com/path/

myexample.com/

example.com.bad.com/

us13.altostrat.com/go/example.com/path

www.google.com/search?q=example.com

example.com/

example.com/path

example.com/path/subpath

example.com

example.com/

example.com/path

example.com/path/subpath

myexample.com/

example.com.bad.com/

us13.altostrat.com/go/example.com/path

www.google.com/search?q=example.com

server.example.com/

sample.server.example.com/

sample.server.example.com/path/

*server.example.com

server.example.com/

sample.server.example.com/path

sample.server.example.com/path/

myexample.com/

example.com.bad.com/

us13.altostrat.com/go/example.com/path

www.google.com/search?q=example.com

example.com/

example.com/path

example.com/path/subpath

*example.com/

example.com/

server.example.com/

sample.server.example.com/

myexample.com/

example.com.bad.com/

us13.altostrat.com/go/example.com/path

www.google.com/search?q=example.com

example.com/path/

example.com/path/subpath

sample.server.example.com/path/

*example.com/path*

example.com/path

example.com/path/subpath

sample.server.example.com/path/

myexample.com/

example.com.bad.com/

us13.altostrat.com/go/example.com/path

www.google.com/search?q=example.com

example.com/

server.example.com/

sample.server.com/

*example.com/path/*

example.com/path/subpath

sample.server.example.com/path/

myexample.com/

example.com.bad.com/

us13.altostrat.com/go/example.com/path

www.google.com/search?q=example.com

example.com/

server.example.com/

sample.server.example.com/

example.com/path

*example.com/path/ sample.server.example.com/path/

myexample.com/

example.com.bad.com/

us13.altostrat.com/go/example.com/path

www.google.com/search?q=example.com

example.com/

sample.example.com/

sample.server.example.com/

example.com/path

example.com/path/subpath

example.com/ example.com/

myexample.com/

example.com.bad.com/

us13.altostrat.com/go/example.com/path

www.google.com/search?q=example.com

server.example.com/

sample.server.example.com/

example.com/path

example.com/path/subpath

sample.server.example.com/path/