This guide explains UrlList syntax for Secure Web Proxy.
UrlList lets you create many match entries that you can reuse across multiple
rules.
UrlList syntax supports matching domains in full or by suffix, and URLs with
full path with no parameters or a prefix path.
Supported wildcards
UrlList supports the * asterisk wildcard character, which you can use as a
prefix to match partial subdomains or partial paths.
When you provide partial domains, UrlList matches only complete subdomain
tokens. If a path separator isn't provided, then UrlList matches any path. For
example, if you provide example.com, then UrlList matches example.com/*,
including all paths in the domain.
How UrlList interprets entries
Secure Web Proxy uses the UrlList patterns that you provide to match against
URLs and then determine whether the URL is allowed or disallowed.
UrlList interprets entries according to the following:
Entries that contain a period (
.) and a forward-slash (/) must be well-formed URLs. You can include subdomain and path wildcards. The token to the left of the first/character is interpreted as the top-level domain, such as.comingoogle.com/news.Entries that contain a period (
.) and that don't contain a forward-slash (/) are interpreted as domains. You can include the subdomain wildcard. The rightmost token in this case is interpreted as the top-level domain, such as.xyzinabc.xyz.All other entries are invalid.
When a UrlList pattern is matched against values that contain a
forward-slash (/), such as in request.url(), patterns are interpreted as explained
previously. However, when a UrlList pattern is matched against values without a
/, such as in host(), only the domain portion of the pattern is matched.
Pattern matching examples
The following table shows example patterns, example URLs that each pattern matches, and example URLs that each pattern does not match.
| Pattern | Matches | Does not match |
|---|---|---|
*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/ |