首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP获取域名

PHP获取域名
EN

Stack Overflow用户
提问于 2011-03-23 19:53:46
回答 2查看 334.4K关注 0票数 85

我想要获取运行脚本的域名。如何在PHP中做到这一点?我看到$_SERVER['HTTP_HOST']$_SERVER['SERVER_NAME']都包含此信息。这个变量会一直起作用吗?我应该使用一个而不是另一个吗?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-23 19:57:29

类似的问题以前在stackoverflow中也被提出过。

查看此处:PHP $_SERVER['HTTP_HOST'] vs. $_SERVER['SERVER_NAME'], am I understanding the man pages correctly?

另请参阅本文:http://shiflett.org/blog/2006/mar/server-name-versus-http-host

建议使用HTTP_HOST,并仅在未设置SERVER_NAME时回退到HTTP_HOST。他说,由于各种原因,SERVER_NAME在服务器上可能不可靠,包括:

DNS support

  • misconfigured

  • behind负载平衡软件

来源:

票数 89
EN

Stack Overflow用户

发布于 2011-03-23 20:00:46

要回答您的问题,这些方法应该在以下条件下有效:

  • 您的HTTP服务器将这些值传递给PHP (我不知道有没有这样做的)
  • You‘’re

(通过命令行访问脚本)

但是,如果我没记错的话,这些值在一定程度上是可以伪造的,所以最好不要依赖它们。

我个人的偏好是在apache2虚拟主机中使用set the domain name as an environment variable

# Virtual host
setEnv DOMAIN_NAME example.com

read it in PHP

// PHP
echo getenv(DOMAIN_NAME);

然而,这并不适用于所有情况。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5404811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档