Simplified Wildcard Matching

Simplified wildcard matching lets a rule match many URLs while also limiting the amount of regular expression backtracking required to obtain a result.

Because regular expressions can be complicated to write, and because poorly constructed ones can evaluate for an undetermined amount of time (ReDoS), a second type of rule allows a simplified matching mechanism. It uses a wildcard character ("*") to match zero (0) or more characters in the incoming URL, and the keyword 'wildcard' with an index value to copy incoming parts of the URL to the redirected URL.

The following table shows some sample simplified wildcard matchings.

Source URL Target Location URL
/old/* /new/<$wildcard(1)$>
/dispatch.asp?page=*&facet=Lang* /page<$wildcard(1)$>/<$wildcard(2)$>

Simplified wildcard matching gives more power to the matching of URLs than simple string-to-string matching, but does so without unbounded regular expression processing. The syntax is simple, and you can use pattern matching on a URL to accommodate a large number of URLs with one pattern.

Because they are based upon regular expressions, wildcard rules would evaluate somewhat slower than simple string matching. A large number of rules could introduce a performance penalty to general page-delivery performance.