走了 我的另一个 问题及其 一对.

我想抓住 Hostname:Port 值如 phpinfo() 功能。我似乎在任何地方都找不到它 不是$_SERVER.

有帮助吗?

解决方案

您可以使用 $_SERVER['SERVER_NAME'] 为了这。您只需要相应地配置服务器即可返回预期值。显然,您使用的是比Apache HTTPD 1.3更新。

您需要设置 UseCanonicalName 指令 on 在里面 <VirtualHost> 进入 httpd.conf (还要检查链接文档底部的警告!)。

<VirtualHost *>
    ServerName example.com
    UseCanonicalName on
</VirtualHost> 

也看 这个答案.

其他提示

带有PHP 5.2的Apache 2.0服务器 $_SERVER['SERVER_PORT'] 应该给您80的HTTP连接。

对于主机名,对我而言,这两个工作相同:

echo $_SERVER['HTTP_HOST'];
echo $_SERVER['SERVER_NAME'];

...应该解决问题。

阅读更多有关 $_SERVER 多变的 这里

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top