跨源资源共享策略在CodeIgniter应用程序中阻止Bootstrap中的glyphicons

时间:2016-01-25 17:31:38

标签: php twitter-bootstrap codeigniter cors

我尝试使用Bootstrap 3.3.6提供的字形,但Chrome阻止了对这些字形的访问,并显示以下错误消息:

  

来自原点的字体' http://[::1]'已被跨源资源共享策略阻止加载:No' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' http://localhost'因此不允许访问。

这是我的.htaccess

   <IfModule authz_core_module>
      Require all denied
   </IfModule>
   <IfModule !authz_core_module>
      Deny from all
   </IfModule>
   <FilesMatch "\.(ttf|otf|eot|woff)$">
      <IfModule mod_headers.c>
        Header set Access-Control-Allow-Origin "*"
      </IfModule>
   </FilesMatch>

我做错了什么?我编辑错误的.htaccess吗?

我还尝试在header("Access-Control-Allow-Origin: *");文件的开头添加header.php,但这也不起作用。我没有想法。

文件夹结构如下:

   application
       controller
       model
       view
           header.php
           index.php
           footer.php
       .htaccess
   system
   assets
       css
       fonts
       images
       js

4 个答案:

答案 0 :(得分:5)

我发现了这个问题:我没有在CodeIgniter的config.php中设置base_url。设置完成后一切正常。

答案 1 :(得分:1)

您需要将基本URL添加到配置文件中:

$config['base_url'] ='http://www.urlname.com';

We can set this way so we can move any server no need to change try this one.

$config['base_url'] = 'http://'.$_SERVER['HTTP_HOST'].'/';

答案 2 :(得分:0)

只需提出以下内容即可。

<CORSConfiguration>
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>GET<enter code here/AllowedMethod>
    </CORSRule>
</CORSConfiguration>

答案 3 :(得分:0)

允许跨站点脚本编写可能会导致安全问题,请尝试调整您的codeigniter选项;

1。)转到application / config / config.php文件, 2.)找到$ config [&#39; base_url&#39;] =&#34;&#34 ;;和 3.)将项目文件夹的路径作为值。 $配置[&#39; BASE_URL&#39;] =&#34; http://localhost/yourProjectFolder/ &#34 ;;