Ok Colin,
Made a couple changes and it is sort of working now. I think I need a condition for "and" so that I catch both the URI and the IP. It looks like right now once it hits the matches_regex it does not evaluate the rest of the expression. So it is not evaluating the IP.
when HTTP_REQUEST {
if { [HTTP::uri] matches_regex {\/FOO\/}} {
if {([IP::addr [IP::remote_addr] equals 10.12.126.248/255.255.255.255]) or
([IP::addr [IP::remote_addr] equals 10.12.126.249/255.255.255.255]) or
([IP::addr [IP::remote_addr] equals 10.12.126.250/255.255.255.255])
} {
pool FOO.com-80
}
} elseif {[IP::addr [IP::remote_addr] equals 10.0.0.0/255.0.0.0] } {
HTTP::redirect "http://www.NEW.com"
}
}