Thank you CA_Valli.
I think this works when we are hardcoding the app1 in the condition.
I was wondering if this irule can be agnostic in a way it can be used for any number of Virtual servers.
Example:
testurl.externaldomain.com/app1/api/hello
testurl.extenaldomain.com/app2/api/bye
testdifferenturl.externaldomain.com/app4/api/test/*/*
so all these urls will have one virutal server which should have a common generalized irule.
testurl.externaldomain.com/app1dev/api/hello - it would be a redirect the customer still sees the same url in the browser.
set hostname: app1dev.internaldomain.com/api/hello
set pool : testurl.externaldomain.com_app1dev
testurl.externaldomain.com/app1qa/api/getemployeedetails - it would be a redirect the customer still sees the same url in the browser.
set hostname: app1qa.internaldomain.com/api/getemployeedetails
set pool : testurl.externaldomain.com_app1qa
the way we formulated the url is
externaldomain/appname/whateverapitheappsupports.
appname needs to be appended with internaldomain and the whateverapitheappsupports need to the URI.
whateverapitheappsupports - this can be just /api/hello or /api/employee/1234 or /swagger anything that comes after the app name.
Please let me know if the above example is clear or if i am not explaining it properly.