Ok, so let's say my website is bob.com - fine. Well, I want to have sam.com also, but can't afford to pay for Deluxe hosting. So I get the domain, but I forward sam's DNS servers to point at Bob, with masking on.
What I'm looking to do is to identify what the person typed in - i.e., the original, unmodified URL. Here's what I have currently:
function get_redirect_target($url)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$headers = curl_exec($ch);
curl_close($ch);
// Check if there's a Location: header (redirect)
if (preg_match('/^Location: (.+)$/im', $headers, $matches))
return trim($matches[1]);
// If not, there was no redirect so return the original URL
// (Alternatively change this to return false)
return $url;
}
$path = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo get_redirect_target($path);
The main problem here is that it's VERY slow. I'm also often getting a 500 error. Anyone have any ideas?