php - 如何检查 domain.com 或 sub.domain.com?

标签 php http

我尝试了 $_SERVER['HTTP_HOST']$_SERVER['SERVER_NAME'],但它们都返回 sub.domain.com,我希望它检查 URL 是 sub.domain.com 还是 just domain.com

脚本在 sub.domain.com 上运行,它们都返回相同的数据。

$_SERVER['HTTP_HOST'] 返回:sub.domain.com $_SERVER['SERVER_NAME'] 返回:sub.domain.com

我只想获取 url 的 domain.com 部分。由于脚本可以在任何子域名上运行,我不确定如何执行,因为上述两个变量返回相同的信息。

最佳答案

我会检查 HTTP_HOST。通常两者相同,但有时 SERVER_NAME 设置不同。如有疑问,请同时检查它们。

'HTTP_HOST'
Contents of the Host: header from the current request, if there is one.

http://php.net/manual/en/reserved.variables.server.php

至于如何查看,可以对主域名进行字符串替换,看结果字符串是否为空。剩下的就是子域。


到目前为止,您正在寻找一些微不足道的字符串操作,这里是最后两部分:

$yourhost = implode('.', array_slice(explode('.', $_SERVER['HTTP_HOST']), -2));

关于php - 如何检查 domain.com 或 sub.domain.com?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10824556/

相关文章:

php - 在 PHP 中生成 UUID 的最有效方法是什么?

php - PayPal Rest API 发票 WebHook

java - 调用 HttpURLConnection.getInputStream() 两次以上会发生什么

java - java spring 不会忽略 DELETE 之前发出的 OPTIONS 请求,这与 POST、GET 不同

php - 如何进行非缓存 301 重定向?

php - 如何在 HTML 网站上以 list 形式显示 MySQL 数据?

php - 在哪里可以找到 PHP 默认使用的默认系统证书?

PHP MYSQL数据库结构,一条记录多次查询

javascript - "Direct Response with Node.js"- 使用不同的 Node.js 进程发送 HTTP 响应(不同于主进程)

javascript - Stack Overflow 如何在不重新加载页面的情况下通知服务器端事件?我在 Firebug 中没有看到任何请求