Use modrewrite for this, I bet there are lots of examples you can find on Google. But here's what I'm using (in a .htaccess file):
Code:
RewriteEngine on
RewriteCond %{HTTP_REFERER} google.+[Aa][Ss][Hh][Aa].*
RewriteRule ^xyz /asha-kumara.html
This will show /asha-kumara.html instead of /xyz (without changing the actual adress, the user still thinks he is on /xyz) when coming from an address containing both "google" and "asha" (asha is case-insensitive)