If the URI path is /User1, /User2 or /User3 (with nothing following), and you are using BIG-IP version 11.4 or higher, you can accomplish this using Local Traffic Policies:
If you are using a version before 11.4, you can use HTTP Classes:
If, instead, the URI path is, e.g., /User1/... (where ... is any arbitrary path) and you want to send everything after the /User1/ part to the server, then you'll need an iRule. Something like this:
when HTTP_REQUEST {
switch -glob [HTTP::uri] {
"/User1" -
"/User1/*" {
HTTP::uri [substr [HTTP::uri] 6]
node 192.168.1.1:80
}
"/User2" -
"/User2/*" {
HTTP::uri [substr [HTTP::uri] 6]
node 192.168.2.1:80
}
"/User3" -
"/User3/*" {
HTTP::uri [substr [HTTP::uri] 6]
node 192.168.3.1:80
}
}
}
This can be made more efficient, readable and configurable with the use of a datagroup.