Apache解决Access-Control-Allow-Origin多域名跨域显示错误问题。通过配置Apache的httpd.conf文件实现跨域资源共享(CORS)。具体步骤包括启用headers模块并设置允许跨域请求的来源、方法及头部信息。
什么是跨域:当aa.com域名下的页面或脚本试图去请求bb.com域名下的资源时,就是典型的跨域行为。最常见的就是<link>、<script>、<img>、<frame>等dom标签,还有样式中background:url()、@font-face()等文件外链跨域错误问题。
全局配置:在服务器文件下找到httpd.conf最下面添加如下配置保存即可。如图所示
<IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Methods "GET, POST" </IfModule>
如果用的是类似宝塔这样面板,只配置某个域名,可以在面板后台-网站管理,设置你想跨域的域名。如图所示
其他允许请求,比如 GET,POST,PUT,DELETE,OPTIONS可自行添加。
最后记得保存并删除浏览器缓存,再打开页面测试。
如果用的是nginx环境配置,可以添加以下配置
add_header Access-Control-Allow-Origin * always;//*可替换为某域名 add_header Access-Control-Allow-Methods GET,POST,DELETE; add_header Access-Control-Allow-Header Content-Type,*;
评论