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

如何在WordPress的GET请求中获取自定义HTTP头部信息?

WordPress REST API 无法获取自定义请求头部的问题排查

WordPress完全支持获取自定义请求头部,你的问题大概率出在以下几个环节:

  • 服务器过滤下划线开头的头部
    多数服务器(比如Nginx、Apache)默认会丢弃以下划线开头的HTTP头部,因为部分服务器配置将下划线视为不安全字符。把自定义头部从_key改成X-Key这类以X-前缀开头的格式即可规避这个问题。

  • GET请求的缓存或头部限制
    部分浏览器或环境对GET请求的自定义头部会有额外限制,或者缓存会干扰请求发送。可以在请求中添加Cache-Control: no-cache头部,确保请求是实时发送的。

  • 头部名称的大小写转换
    WordPress的get_header()方法不区分大小写,但服务器会将自定义头部转换为大写,并用下划线替换横杠,存入$_SERVER全局变量(比如X-Key会变成HTTP_X_KEY)。可以通过直接打印$_SERVER变量,先确认服务器是否实际接收到了头部。

修改后的代码示例

前端Axios请求:

let response = await axios.get('url', { 
  headers: { 
    'X-Key': 'mykey',
    'Cache-Control': 'no-cache'
  } 
});

后端WordPress API处理:

public function get_option( $request ) {
    // 使用WP_REST_Request的get_header方法获取
    $data = $request->get_header('x-key');
    // 也可以直接从$_SERVER验证是否接收到
    // $data = $_SERVER['HTTP_X_KEY'] ?? '';
    return $data;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:05:34