Perhaps then a data group:
when HTTP_REQUEST {
if { [class match [string tolower [HTTP::uri]] starts_with dc-uri-filter-dg] } {
set local_var [class match -name [string tolower [HTTP::uri]] starts_with dc-uri-filter-dg]
if { ( [string tolower [HTTP::uri]] equals $local_var ) or ( [string tolower [HTTP::uri]] starts_with "${local_var}/" ) } {
SSL::disable serverside
pool ACA-Pool_appl.com_http
} else {
HTTP::respond 200 content "Forbidden"
}
}
}
where "dc-uri-filter-dg" is a string-based data group that contains the base URI. Example:
"/manorbon" := ""
"/foo" := ""
"/bar" := ""
"/test" := ""
The iRule will match only the defined base URI (equals) or the base URI plus a "/" (starts_with).