A lot depends on how you have your associated virtual servers configured. If you have two virtual servers, one listening for HTTP traffic and the other listening for HTTPS traffic, you could put the redirect iRule only on the HTTP virtual server and this iRule on the HTTPS virtual server. With respect to checking for both "developer.example.com" or "developers.example.com" you can use a single compound IF condition or an IF/ELSEIF structure. For example:
if { [string tolower [HTTP::host]] equals "developers.example.com" || [string tolower [HTTP::host]] equals "developer.example.com" } {
pool DEV_pool
} else {
pool QA_pool
}