跨域资源共享策略阻止 CodeIgniter 应用程序中引导的字形


Cross-Origin Resource Sharing policy blocking glyphicons from Bootstrap in CodeIgniter application

我正在尝试使用 Bootstrap 3.3.6 提供的字形图标,但 Chrome 通过以下错误消息阻止了对它们的访问:

跨源资源共享策略已阻止加载源"http://[::1]"中的字体:请求的资源上不存在"访问控制-允许源"标头。因此,不允许访问源"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.php文件的开头添加header("Access-Control-Allow-Origin: *");,但这也不起作用。我没主意了。

文件夹结构如下所示:

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

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

您需要

将基本 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'].'/';

允许跨站点脚本可能会导致安全问题,请尝试调整代码点火器选项;

1.) 转到应用程序/配置/配置.php文件,2.) 找到 $config['base_url'] = ";和3.) 将项目文件夹的路径作为值放置。$config['base_url']="http://localhost/yourProjectFolder/";