Reputation: 119
I am trying to get URL path and to save it as variable...
$setURL = true;
$getDomain = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$getSubdomain = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
if ($setURL === true) {
$result = 'http://'.parse_url($getDomain, PHP_URL_HOST) . '/';
echo 'get domain';
} else {
$result = 'http://'.parse_url($getSubdomain, PHP_URL_HOST).parse_url($getSubdomain, PHP_URL_PATH);
echo 'get subdomain';
}
$siteURL = $result;
So basically if I defined variable $setURL = true; it will return correct URL for simple domain ... http://domain-name.com
However else does not work as I want to... else is there for subdomains. So if I set $setURL = false; it should return following... http://domain-name.com/path/
But unfortunately it return more then that... It returns anything I type as URL... http://domain-name.com/path/something/index.php it will return all of that as URL!
Please help me to fix this as I don't have any ideas how I could manage to make it.
Upvotes: 1
Views: 317
Reputation: 1381
Formally, a subdomain precedes a domain name. For example, in ftp.debian.us
, ftp is the subdomain.
It sounds like what you want is the first path in the URI. You can use PHP's explode() method to grab the first segment in the path.
$uriparts = explode($_SERVER['REQUEST_URI']) // = '/path/to/somewhere/index.html'
$path = $uriparts[1] // = 'path'
Upvotes: 2