Dn不知道这是否可能,但让我解释一下我的问题。
我正在与多个开发人员合作一个项目。我们都有自己的发展环境。对于一些人来说,我们正在构建的网站位于其文档根目录的一个或多个子文件夹中,例如
/library/webserver/htdocs/project/website
其他人在网站上有不同的路径,比如
/htdocs/website
当涉及到寻找获取文档根目录的通用方法(包括php文件等)时,这是没有问题的。但我也想找到网站的根URL,在第一种情况下意味着:
http://localhost/project/website/
在第二种情况下为
http://localhost/website/
在生产中,同样的方法应该只返回
http://domain.tld.
有没有一种很好的方法可以做到这一点——不必手动定义路径?非常感谢。
我最终得到了一个这样的函数。它使用当前服务器的文档根,但随后去掉了网站根目录名之前的部分-这实际上是目录名的目录名,如果这个功能位于上面一步:
$dirName = dirname(dirname(__FILE__) . ".." . DIRECTORY_SEPARATOR);
$dirName = str_replace('''', "/", $dirName);
$base = str_replace($_SERVER['DOCUMENT_ROOT'], "", $dirName);
如果文档根目录为/etc/webserver/documents/
,并且文档根目录中的网站位于/projects/website1
下,则如果此脚本位于/projects/website1/somreDir/someFile.php
中,则会返回/projects/website1
。
希望这能帮助到别人。
我想您正在寻找$_SERVER['HTTP_ROOT']
:
'HTTP_HOST'
Host的内容:当前请求的标头(如果有)。