gpt4 book ai didi

php - $_SERVER ['DOCUMENT_ROOT'] 和 $_SERVER ['HTTP_HOST'] 之间的区别

转载 作者:行者123 更新时间:2023-12-02 23:06:42 29 4
gpt4 key购买 nike

我带着一个简单的问题(或相关问题)回来了。

问题很简单,但我还没有收到答案。我问过很多有不同 PHP 经验的人。但我得到的回应是:“我不知道。我从来没有想过这个。”使用谷歌我找不到任何关于此的文章。希望在这里能得到满意的答复。

所以问题是:

$_SERVER['DOCUMENT_ROOT']$_SERVER['HTTP_HOST'] 有什么区别?

其中一种相对于另一种有什么优势吗?

我们应该在哪里使用 HTTP_HOST 以及在哪里使用 DOCUMENT_ROOT?

最佳答案

DOCUMENT_ROOT

The root directory of this site defined by the 'DocumentRoot' directive in the General Section or a section e.g.

DOCUMENT_ROOT=/var/www/example 

HTTP_HOST

The base URL of the host e.g.

HTTP_HOST=www.example.com 

文档根目录是您网站在服务器上的本地路径; http 主机是服务器的主机名。它们是相当不同的;也许你可以澄清你的问题?

编辑:你说:

Case 1 : header('Location: '. $_SERVER['DOCUMENT_ROOT'] . '/abc.php')

Case 2: header('Location: '. $_SERVER['HTTP_HOST'] . '/abc.php')

我怀疑只有当您在提供页面服务的同一台计算机上运行浏览器时,第一个方法才有效。

想象一下,如果其他人使用他们的 Windows 计算机访问您的网站。您的网络服务器在 HTTP header 中告诉他们,“嘿,实际上,重定向此位置:/var/www/example/abc.php。”您期望用户的机器做什么?

现在,如果你正在谈论类似的事情

<?php include($_SERVER['DOCUMENT_ROOT'] . '/include/abc.php') ?>

对比

<?php include($_SERVER['HTTP_HOST'] . '/include/abc.php') ?>

这可能是有道理的。我怀疑在这种情况下前者可能是首选,尽管我不是 PHP 专家。

关于php - $_SERVER ['DOCUMENT_ROOT'] 和 $_SERVER ['HTTP_HOST'] 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7229783/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com