Wouldn't you want it the other way around? If you find gb=3, persist none because there's only one server to send you to so you don't need to persist.
Also, add some logging to make sure the logic is catching.
when HTTP_REQUEST {
if { [URI::decode [string tolower [HTTP::uri]]] contains "gb=" } {
persist source_addr 1800
log "Persist"
}
if { [URI::decode [string tolower [HTTP::uri]]] contains "gb=3" } {
use pool webpool member 1.1.1.3 80
persist none
log "NO -- Persist"
}
}
I think persistence takes precedence over selecting a pool member directly. Can anyone confirm that?