使用if语句PHP获取URL

时间:2013-02-06 04:21:16

标签: php

我正在尝试获取网址路径并将其另存为变量...

$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;

所以基本上如果我定义变量$ setURL = true;它将返回简单域名的正确网址... http://domain-name.com

然而,其他方法不能正常工作......否则是子域名。所以如果我设置$ setURL = false;它应该返回...... http://domain-name.com/path/

但不幸的是它返回的更多......它返回我输入的任何内容作为URL ... http://domain-name.com/path/something/index.php它会将所有内容作为网址返回!

请帮助我解决这个问题,因为我没有任何想法可以帮助我做到这一点。

1 个答案:

答案 0 :(得分:2)

正式地,子域位于域名之前。例如,在ftp.debian.us中, ftp 是子域名。

听起来你想要的是URI中的第一条路径。您可以使用PHP的explode()方法来获取路径中的第一个段。

$uriparts = explode($_SERVER['REQUEST_URI']) // = '/path/to/somewhere/index.html'
$path = $uriparts[1] // = 'path'