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

Apache httpd 如何为RewriteRule重定向请求设置响应头值

解决方法

出现该问题的核心原因是Apache对内部生成的响应(比如rewrite规则产生的3xx重定向、默认错误页等)会默认插入原生Server头,覆盖你已配置的Header规则,按以下步骤调整配置即可:

  1. 先在httpd.conf全局配置顶部添加以下参数,关闭默认的服务器详细信息输出:
ServerTokens Prod
ServerSignature Off

ServerTokens Prod会将Apache原生Server头的输出内容压缩到最少,ServerSignature Off会关闭错误页、目录列表页的服务器信息展示。

  1. 调整原有Header规则,先清空所有场景下的原生Server头,再设置自定义值:
# 移除所有场景下的X-Powered-By字段
Header always unset X-Powered-By
Header onsuccess unset X-Powered-By

# 先清空always和onsuccess两个响应表中的原生Server头
Header always unset Server
Header onsuccess unset Server

# 为所有响应设置自定义Server头
Header always set Server "Server"
Header onsuccess set Server "Server"

RewriteEngine On
RewriteRule  ^/$ /login.do [R,L]
ProxyPass / ajp://x.x.x.x:8109/ connectiontimeout=300 timeout=300
ProxyPassReverse / ajp://x.x.x.x:8109/

注意:Apache的Header指令默认作用于onsuccess响应表(对应2xx正常响应),always对应非2xx的响应(包括3xx重定向、4xx/5xx错误等),需要同时配置两个表的规则才能覆盖所有响应场景。

  1. 配置修改完成后重启Apache httpd服务生效:
systemctl restart httpd

如果以上配置还是不生效,可以额外添加针对3xx状态码的强制Header规则:

Header always set Server "Server" "expr=%{REQUEST_STATUS} =~ /^3[0-9]{2}$/"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 06:15:07