(moved your post to the proper forum)
Your iRule looks fine.
Not sure what you mean when you say users "browse to www.xyz.com/admin/... (but) browser then tries to load www.abc.com/admin/index.html". If the abc.com URI is showing up in the browser, there must be a server-originated redirect or something else going on between the user requesting the xyz.com URI and the failed request to abc.com.
I see you are redirecting to HTTPS. If the original request is also HTTPS, you must decrypt the traffic with a clientssl profile before you can read the host header to determine if a redirect is in order.
HTH
/deb