You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP获取X-Forwarded-Host请求头报Undefined index错误如何解决

错误原因

PHP 对存入$_SERVER的HTTP请求头有固定的格式化规则:

  • 所有请求头名称转为全大写
  • 名称中的横杠-替换为下划线_
  • 统一添加HTTP_前缀
    所以你传入的X-Forwarded-Host请求头,在$_SERVER中对应的键名不是X-Forwarded-Host,而是HTTP_X_FORWARDED_HOST,直接访问不存在的键自然会报未定义索引错误。

解决方法

方法1:直接使用格式化后的键名

性能最高,无需调用额外函数,适配所有PHP运行环境:

<?php 
// 先判断索引是否存在,避免请求未携带该头时再次报错
$custom_header = isset($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : '';
echo $custom_header;
?>

方法2:使用getallheaders()函数直接读取请求头

如果需要读取多个自定义请求头,不想手动拼接前缀,可以用该函数,它会返回所有请求头的关联数组,键名和你传入的请求头名称完全一致,XAMPP自带的Apache环境完全支持:

<?php 
$headers = getallheaders();
$custom_header = isset($headers['X-Forwarded-Host']) ? $headers['X-Forwarded-Host'] : '';
echo $custom_header;
?>

内容的提问来源于stack exchange,提问作者Akash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 11:21:02