0

对于路由器,我想根据服务器请求从 URI 中获取主机名。我知道我需要从$_SERVER变量中读取它。但似乎在$_SERVER数组中有多个主机名条目(至少两个)。

您能否告诉我应该选择读取哪个值 - 最可靠的值?

例如,当我有这样的 URI 时:

http://local.mvc/mycontroller/myaction

$_SERVER数组将具有:

[HTTP_HOST] => local.mvc
[SERVER_NAME] => local.mvc

我需要获得价值local.mvc

感谢您的时间。

4

3 回答 3

0

If you're using PHP5 or PHP7, try php_uname

To get the host name:

php_uname("n");
于 2017-11-02T14:48:33.477 回答
0

SERVER_NAME是在其配置中分配给给定服务器的名称(即apache.conf文件及其ServerName指令或其他软件的类似名称),而HTTP_HOST值是从来自客户端(通常是 Web 浏览器)的 HTTP 请求的标头中获得的。如果您的服务器服务多个域(如共享服务器/虚拟服务器托管),这两个可能会有所不同。根据用例,您可能想要使用其中任何一个,但HTTP_HOST似乎是更好的选择,因为它总是告诉用户想要达到什么。

于 2017-11-02T06:58:45.210 回答
0

$_SERVER变量有'REQUEST_URI'

只是var_dump服务器变量,应该在那里(或查看文档

于 2017-11-02T07:00:31.087 回答