🗣 Wd提问: php获取完整域名
🤖 Ai回答: 在PHP中获取完整域名有多种方法,以下是几种常用的方式:
1、使用 $_SERVER 变量(推荐)
php
<?php
// 方法1:获取完整的域名(包含协议)
function getFullDomain() {
$protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https://' : 'http://';
$domain = $_SERVER['HTTP_HOST'];
return $protocol 、$domain;
}
echo getFullDomain(); // 输出:http://www.65.hk 或 https://www.65.hk
?
2、获取不同部分的域名信息
php
<?php
// 获取协议
$protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http';
// 获取主机名
$host = $_SERVER['HTTP_HOST'];
// 获取完整URL
$fullUrl = $protocol 、'://' 、$host;
// 获取不带端口号的域名
$domain = parse_url($fullUrl, PHP_URL_HOST);
echo 协议: 、$protocol 、\n;
echo 主机: 、$host 、\n;
echo 完整域名: 、$fullUrl 、\n;
echo 纯域名: 、$domain 、\n;
?
3、更完善的函数
php
<?php
function getBaseUrl() {
// 检查是否使用HTTPS
$isSecure = false;
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
$isSecure = true;
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on') {
$isSecure = true;
}
$protocol = $isSecure ? 'https' : 'http';
// 获取主机名
$host = $_SERVER['HTTP_HOST'] ?? $_SERVER['SERVER_NAME'];
return $protocol 、'://' 、$host;
}
echo getBaseUrl();
?
4、获取当前页面完整URL
php
<?php
function getCurrentUrl() {
$protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https://' : 'http://';
$host = $_SERVER['HTTP_HOST'];
$uri = $_SERVER['REQUEST_URI'];
return $protocol 、$host 、$uri;
}
echo getCurrentUrl(); // 输出完整的当前页面URL
?
5、使用 parse_url 函数处理
php
<?php
function getDomainFromUrl($url = null) {
if ($url === null) {
// 如果没有提供URL,则获取当前域名
$protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https://' : 'http://';
$url = $protocol 、$_SERVER['HTTP_HOST'] 、$_SERVER['REQUEST_URI'];
}
$parsedUrl = parse_url($url);
return $parsedUrl['scheme'] 、'://' 、$parsedUrl['host'];
}
echo getDomainFromUrl(); // 获取当前域名
echo getDomainFromUrl('https://www.65.hk/path/to/page'); // 获取指定URL的域名
?
注意事项
1、安全性考虑:`$_SERVER['HTTP_HOST']` 可能被客户端伪造,如果需要更高的安全性,建议使用 `$_SERVER['SERVER_NAME']`
2、代理服务器:如果网站通过代理或负载均衡器访问,可能需要检查 `HTTP_X_FORWARDED_PROTO` 等头部信息
3、端口号:如果使用非标准端口(80或443),域名会包含端口号
最常用的简单方式:
php
<?php
$domain = (isset($_SERVER['HTTPS']) ? 'https://' : 'http://') 、$_SERVER['HTTP_HOST'];
echo $domain;
?
📣 商家广告:





0
IP地址: 171.10.52.231
搜索次数: 0
提问时间: 2025-11-05 13:53:50
🛒 域名购买:
191.net.cn
pbbb.com.cn
z.gz.cn
83.gs
suosou.com.cn
373.net.cn
51.biz
eg.cx
souhuai.com
zqll.cn
❓️ 热门提问:
网站开发用什么语言最适合区块链
dns服务器没有检测到响应
云计算核心特征
软件开发代理公司
tab域名
node.js 服务器
idc电流
AI开发工具移动端
动态域名注册
网站推广技巧
豌豆Ai站群搜索引擎系统
🌐 域名评估:
962.com.cn
ppbr.cn
musk.archi
k.nx.cn
vv.xz.cn
english.kim
xuiz.cn
chxk.cn
12113.com
obcu.cn
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
北京广告推广
香港搜尋引擎平臺
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。