apache如何解决跨域资源访问
我的服务器主站能够显示字体文件,如/fontawesome-webfont.eot、fontawesome-webfont.woff2等,可是子站却不显示,解决办法:
1、首先找到 apache静态资源服务器httpd.conf 文件
找到 #LoadModule headers_module modules/mod_headers.so
把#注释符去掉(也有可能已经默认去掉了)
目的是开启apache头信息自定义模块
2.找到你的虚拟主机文件 注意是被跨域的网站的 具体内容是这样的文件
在宝塔面板就是网站-主域名后面设置-配置文件
也有可能是别的样子的,但是<Directory>……</Directory> 不变
在这段内容里面
<Directory "/www/wwwroot/xxx.com">
SetOutputFilter DEFLATE
Options FollowSymLinks
AllowOverride All
Require all granted
DirectoryIndex index.php index.html index.htm default.php default.html default.htm
下面加上三者任何之一,建议第2、3,第1个有安全问题
#对所有域名开放
Header set Access-Control-Allow-Origin * (这样加上一行)
#对指定域名开放
Header set Access-Control-Allow-Origin http://www.***.com (或者这样加上一行)
#对主域名的泛域名都开放
Header set Access-Control-Allow-Origin http://*.xxx.com
结尾</Directory>要有哦
3、在网站的前台模板PHP或者模板文件(能支持PHP代码的)上,帝国CMS一般就是头部或底部的公共模板变量里,最底部加入:
<?php
header("Access-Control-Allow-Origin:http://*.xxx.com");
//处理请求输出数据
?>
当然这个是我选用的第三种方法
OK,跨域问题搞定
当服务器主站能显示字体文件,但子站不能时,可以通过修改Apache的httpd.conf文件和虚拟主机配置来解决跨域资源访问。需要开启Apache头信息自定义模块,然后在虚拟主机配置中添加相应指令,或者在PHP模板文件中插入PHP代码来实现跨域设置。
1343

被折叠的 条评论
为什么被折叠?



