I want that domain name is transferred as additional parameter site in my URL but this has to be hidden from users
You can't HIDE the Hostname in the URL. OTOH you can serve the same content content up under multiple hostnames.
Why? While this is trivial to achieve with URL re-writing (NOT redirecting) it is an unecessary complication - your PHP can code can read the hostname from URL - it appears in MULTIPLE parameters passed to the script (have a look at the output of phpinfo()).