动态获取网站根URL /基本URL

时间:2014-04-21 11:07:54

标签: php document-root

不知道这是否可能 - 但让我解释一下我的问题。

我正在与多个开发人员合作开展项目。我们都有自己的开发环境。对于某些人 - 我们正在构建的网站位于其文档根目录的一个或多个子文件夹中 - 例如

/library/webserver/htdocs/project/website

其他人在网站上有不同的路径,例如

/htdocs/website

当谈到找到获取文档根目录的常用方法(包括php文件等)时没问题。但我也想找到网站的根URL,这意味着在第一种情况下:

http://localhost/project/website/

在第二种情况下

http://localhost/website/

在制作中,同样的方法应该简单地返回

http://domain.tld.

有没有一种很好的方法可以做到这一点 - 无需手动定义路径?谢谢!

2 个答案:

答案 0 :(得分:1)

我最终得到了一个看起来像这样的功能。它使用当前服务器的文档根目录,但随后在网站根目录名称之前删除该部分 - 这实际上是此功能所在的目录名称的目录名称:

$dirName = dirname(dirname(__FILE__) . ".." . DIRECTORY_SEPARATOR);
$dirName = str_replace('\\', "/", $dirName);    
$base = str_replace($_SERVER['DOCUMENT_ROOT'], "", $dirName);

如果此脚本位于/etc/webserver/documents/,则文档根目录中的/projects/website1文档根目录和/projects/website1下的网站将返回/projects/website1/somreDir/someFile.php

希望这有助于某人。

答案 1 :(得分:0)

我认为您正在寻找$_SERVER['HTTP_ROOT']

  

' HTTP_HOST'

     

当前请求的主机:标头的内容(如果有)。