Developer Documentation

LBHttpRequestUriCondition

This condition is used to match URIs(Uniform Resource Identifier) of HTTP request messages. The URI field can be specified as a regular expression. If an HTTP request message is requesting an URI which matches specified regular expression, it matches the condition. The syntax of whole URI looks like this: scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment] This condition matches only the path part of entire URI. When match_type field is specified as REGEX, the uri field is used as a regular expression to match URI path of HTTP requests. For example, to match any URI that has “/image/” or “/images/”, uri field can be specified as: “/image[s]?/”. Named capturing groups can be used in the uri field to capture substrings of matched URIs and store them in variables for use in LBRuleAction. For example, specify uri field as: “/news/(?\d+)/(?\d+)/(?

.*)” If the URI path is /articles/news/2017/06/xyz.html, then substring “2017” is captured in variable year, “06” is captured in variable month, and “xyz.html” is captured in variable article. These variables can then be used in an LBRuleAction field which supports variables, such as uri field of LBHttpRequestUriRewriteAction. For example, set the uri field of LBHttpRequestUriRewriteAction as: “/articles/news/\(year-\)month-$article” Then the URI path /articles/news/2017/06/xyz.html is rewritten to: “/articles/news/2017-06-xyz.html”


Properties

Required Property Name Type Description
optional case_sensitive boolean

If true, case is significant when comparing URI.

optional inverse boolean

A flag to indicate whether reverse the match result of this condition

optional match_type string

Match type of URI

required type string

Type of load balancer rule condition

optional uri string

A string used to identify resource

Extends


LBRuleCondition
Feedback

Was this page helpful?