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

Apache 2.4.59中mod_headers调用REQUEST_URI返回(null)问题求助

Apache 2.4.59中REQUEST_URI在Header指令中返回(null)的问题解决

问题原因

在<FilesMatch>配置上下文里,REQUEST_URI环境变量无法被正常获取。因为<FilesMatch>是基于文件系统的匹配逻辑,此时请求的URI还未完成到文件系统路径的映射,相关URI变量尚未初始化,所以最终输出了(null)。

解决方法

方法一:通过REQUEST_FILENAME计算相对路径

利用REQUEST_FILENAME(当前请求对应的文件系统路径)和DOCUMENT_ROOT(网站根目录),结合Apache表达式语法去掉根目录前缀,得到目标相对路径:

<IfModule mod_headers.c>
    <FilesMatch "\.pdf$">
        Header add Link "https://EXAMPLE.COM%{REQUEST_FILENAME}s%{DOCUMENT_ROOT}s=%{REQUEST_FILENAME}s =~ s|^%{DOCUMENT_ROOT}s||; e; rel=\"canonical\""
    </FilesMatch>
</IfModule>

方法二:切换到LocationMatch上下文

将匹配规则放到<LocationMatch>中,这个上下文基于请求URI匹配,此时REQUEST_URI变量已正常可用:

<IfModule mod_headers.c>
    <LocationMatch "\.pdf$">
        Header add Link "https://EXAMPLE.COM%{REQUEST_URI}e; rel=\"canonical\""
    </LocationMatch>
</IfModule>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 08:48:12