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

Apache配置Header always set后404响应仍无Access-Control-Allow-Origin头

解决Apache 404响应不携带CORS头的问题

1. 确认mod_headers模块已启用

打开XAMPP的httpd.cfg文件,找到以下行,确保前面没有注释符号#:

LoadModule headers_module modules/mod_headers.so

如果被注释,去掉#后保存配置。

2. 调整Header配置覆盖所有响应场景

将CORS头配置放在服务器全局上下文(不要局限在虚拟主机或特定目录块内),补充针对内部重定向场景的规则:

<IfModule mod_headers.c>
    # 为常规成功/重定向响应设置CORS头
    Header always set Access-Control-Allow-Origin "*"
    # 为内部重定向触发的错误响应(如默认404页面)设置CORS头
    Header always set Access-Control-Allow-Origin "*" "env=REDIRECT_STATUS"
    # 可选:添加常用的CORS方法允许规则
    Header always set Access-Control-Allow-Methods "GET, HEAD, OPTIONS"
</IfModule>

Apache返回404等错误时,通常会触发内部重定向到默认错误页面,此时REDIRECT_STATUS环境变量会被激活,第二条指令确保这类场景下也能带上CORS头。

3. 自定义错误页面的额外配置(可选)

若你配置了自定义ErrorDocument,需确保错误页面所在目录继承CORS配置。比如自定义404页面路径为/error/404.html,可添加:

<Directory "/path/to/your/error/directory">
    <IfModule mod_headers.c>
        Header always set Access-Control-Allow-Origin "*"
    </IfModule>
</Directory>

4. 重启Apache服务

修改配置后,重启XAMPP中的Apache服务,测试404响应是否已携带Access-Control-Allow-Origin头。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 05:52:51