IIS、Apache 静态字体、less 文件错误:Access-Control-Allow-Origin

一一分享 技术资料 来源: 0 0 259 阅读模式

如果某些文件在各个系统中均存在,比如 CSS、JS、字体等,可以放在一个服务器上,大家共同调用这个服务器上的静态资源。

但是访问后出现如下错误:

Access to font at 'http://www.itpow.com/xxx.woff' from origin 'http://localhost/' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

这是由于不能跨域访问造成的,解决办法:

IIS 是在响应标头中配置:Access-Control-Allow-Origin 为 *,这样所有的来源都放行了。不过据说设置了 * 后,就没有 Cookie 了,不过静态文件对 Cookie 通常没啥要求。

8PXOPT9Z798BQDX9.png

或者在 web.config 中配置也可以

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".less" mimeType="text/css" />
        </staticContent>
        <httpProtocol>
            <customHeaders>
                <add name="Access-Control-Allow-Origin" value="*" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</configuration>

Apache 如下:

打开 httpd.conf:

找到 #LoadModule headers_module modules/mod_headers.so

把 # 注释符去掉,以开启 apache 头信息自定义模块。

然后在独立资源域名的虚拟主机添加一行:

Header set Access-Control-Allow-Origin *


温馨提示:应版权方要求,违规内容链接已处理或移除!

本站信息来自网络,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 访问和下载本站内容,说明您已同意上述条款。联系:39070187@qq.com

weinxin
我的微信
声明
本站所发布的软件和文章仅限用于学习和研究目的,不得将上述内容用于商业或者非法用途,否则一切后果请自负。
 
PC & Mac 办公必备专享捆绑包