Try something like ip2location.com and have a simple redirect script as mentioned by Cranky. This is simple enough in PHP, here is something for you. Feel free to use it:
PHP Code:
<?
$surfersip = $_SERVER['REMOTE_ADDR'];
if (preg_match("/192.168.0/",$surfersip)) {
header('Location: http://uk.abc.com/');
} else if (preg_match("/192.168.1/",$surfersip)) {
header('Location: http://usa.abc.com/');
} else {
header('Location: http://www.abc.com/i_dont_know_where_you_are.html');
};
?>
This will be more accurate as its not dependant on which DNS server your customer is using, its based on there actual IP and also allows you to geographically load balance.
You can also try some free solutions available but there not as accurate in my experience. Also remember the usual limitations on location determination which are Satellite Internet, VPN and Mobile Broadband (which is backhauled to your home network which is a double edged sword).
Stuart