You can check on the value of $_SERVER['HTTP_REFERER'] and use it to decide what to do. The problem with that is that it is not a required HTTP header, and therefore you may end up locking out perfectly valid users from this site, either due to their browser's security settings or the configuration/settings of any proxy via which they are accessing your site. And anyway, what happens if a user bookmarks a page, and then comes back to the site later and does not have the necessary HTTP_REFERER value? Will you annoyingly make them go back to site A first, again?
I think you'd be serving the client better by convincing them that the negatives of such an approach, especially the potential loss of traffic, outweigh whatever potential gain they may think it provides.