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

如何在.htaccess中根据MIME类型添加指定HTTP响应头?

嘿,我刚好碰到过类似的问题,给你梳理下靠谱的解决方案!

首先得确认你用的是Apache 2.4及以上版本,因为<If>指令是从这个版本开始支持的。之前你的<If>没生效,大概率是变量用错了——你得检查响应头里的Content-Type,也就是用%{CONTENT_TYPE}这个变量,而不是请求相关的变量。

下面是直接能用的配置,专门给text/html类型的响应加两个自定义头,其他类型自动忽略:

# 只对text/html响应添加自定义HTTP头
<If "%{CONTENT_TYPE} =~ m#^text/html#i">
    Header set X-Custom-Header1 "你的第一个自定义值"
    Header set X-Custom-Header2 "你的第二个自定义值"
</If>

这里的正则m#^text/html#i是为了兼容各种text/html的变种,比如text/html;charset=utf-8这种带字符集的情况,i表示忽略大小写,更稳妥。

如果你用的是Apache 2.2(比较老的版本,不支持<If>),那就换用Header指令的expr语法,效果一样:

Header set X-Custom-Header1 "你的第一个自定义值" "expr=%{CONTENT_TYPE} =~ m#^text/html#i"
Header set X-Custom-Header2 "你的第二个自定义值" "expr=%{CONTENT_TYPE} =~ m#^text/html#i"

最后别忘了检查下mod_headers模块有没有加载,你可以运行apachectl -M(或者httpd -M),看看输出里有没有headers_module (shared),如果没有的话,得先启用这个模块(比如在Ubuntu/Debian里用a2enmod headers,然后重启Apache)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:44:15