DOCUMENT_ROOT
此站点的根目录由“常规”部分中的“DocumentRoot”指令定义,例如
DOCUMENT_ROOT=/var/www/example
HTTP_HOST
主机的基本 URL,例如
HTTP_HOST=www.example.com
文档根目录是您网站上的本地路径,在您的服务器上;http 主机是服务器的主机名。它们是相当不同的;也许你可以澄清你的问题?
编辑:你说:
案例 1 : 标头('位置: '. $_SERVER['DOCUMENT_ROOT'] .'/abc.php')
案例 2:标头('位置: '. $_SERVER['HTTP_HOST'] .'/abc.php')
我怀疑第一个只有在提供页面的同一台计算机上运行浏览器时才有效。
想象一下,如果其他人使用他们的Windows机器访问您的网站。您的Web服务器在HTTP标头中告诉他们,“嘿,实际上,重定向此位置:/var/www/example/abc.php。您希望用户的计算机做什么?
现在,如果你正在谈论类似的东西
<?php include($_SERVER['DOCUMENT_ROOT'] . '/include/abc.php') ?>
与
<?php include($_SERVER['HTTP_HOST'] . '/include/abc.php') ?>
这可能是有道理的。我怀疑在这种情况下,前者可能是首选,尽管我不是PHP大师。