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

Apache中RequestHeader set配置对带下划线的请求头不生效问题

问题原因

  • Apache 2.4.25及以上版本默认开启了请求头安全校验,会直接丢弃名称包含下划线的HTTP请求头,避免头名称映射到CGI环境变量时出现歧义。因此你配置中的%{req:Drupal_NNI}根本无法获取到对应请求头的值,自然无法完成替换操作。
  • 本地Xampp 3.3环境能正常运行,是因为Xampp的默认配置中已经开启了下划线请求头的允许开关,而服务器的Apache 2.4.46保持了默认的安全配置。首次配置临时生效大概率是当时临时加载了兼容配置,后续重载配置后恢复了默认规则。
  • 不带下划线的john请求头不会被安全规则拦截,所以对应的重写配置可以正常运行。

解决方案

  1. 在Apache的全局配置文件httpd.conf,或者对应站点的<VirtualHost>配置块中添加如下规则,开启下划线请求头支持:
HttpProtocolOptions AllowUnderscoresInHeaders On

注意:该参数为服务器级配置,不能放在.htaccess文件中,否则无法生效。

  1. 执行命令重启Apache服务使配置生效:
    systemctl restart httpd
    如果是使用Apache自带控制工具,可执行:
    apachectl restart

重启完成后你原有请求头替换配置即可正常生效。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:36:05