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

如何为Godaddy Apache VPS配置Access-Control-Allow-Origin解决CORS问题

解决Apache环境下MPD文件CORS头未生效问题

1. 确认mod_headers模块已启用

你的.htaccess规则包裹在<IfModule mod_headers.c>中,如果该模块未加载,所有CORS配置都会失效:

  • 执行命令检查模块状态:
    apachectl -M | grep headers
    # 或使用 httpd -M | grep headers(根据系统环境调整)
    
  • 如果无输出,说明模块未启用,需在httpd.conf中添加加载指令:
    LoadModule headers_module modules/mod_headers.so
    
  • 重启Apache生效:
    systemctl restart httpd
    # 或 service httpd restart(根据系统环境调整)
    

2. 确保目标目录的AllowOverride配置正确

你的请求路径指向/be-a/public/...,当前httpd.conf仅对/home/indupendo/public_html设置了AllowOverride All,需确保子目录继承该配置,或直接指定目标目录:

<Directory "/home/indupendo/public_html/be-a/public">
    AllowOverride All
</Directory>

添加后重启Apache。

3. 调整.htaccess的CORS规则

改用Header always set确保头在所有响应场景生效,同时精准匹配需要跨域的文件类型(MPD和TS视频切片):

<IfModule mod_headers.c>
    <FilesMatch "\.(mpd|ts)$">
        Header always set Access-Control-Allow-Origin "*"
    </FilesMatch>
</IfModule>
  • 将这段规则直接放在目标文件所在目录的.htaccess中(即/home/indupendo/public_html/be-a/public/.htaccess),避免上层配置被覆盖。

4. 清除缓存并重新测试

  • 用curl禁用缓存测试响应头:
    curl -I -H "Cache-Control: no-cache" https://indupendo.com/be-a/public/ads/video/rapper/rapper.mpd
    
  • 若使用Godaddy CDN,需登录后台清除CDN缓存;同时清除浏览器本地缓存后重新测试页面。

5. 排查其他冲突配置

  • 检查cPanel的Apache设置或ModSecurity规则,确认没有拦截CORS头的配置;
  • 查看/etc/httpd/conf.d/下的其他Apache配置文件,确认没有覆盖Header指令的规则。

内容的提问来源于stack exchange,提问作者Klem Lloyd Mwenya

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 03:41:26