错误: 在' http://www.example.com//assets/global/plugins/font-awesome/fonts/fontawesome-webfont.woff2?v=4.4.0'访问字体来自原产地' http://example.com'被CORS政策阻止:No' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' http://example.com'因此不允许访问。
解决方案:
<?php
header('Access-Control-Allow-Origin: *');
class Home extends CI_Controller {
public function index()
{
$this->load->view('master');
}
}
?>
我试过这个解决方案,但它不起作用,请你帮帮我怎么解决?以及如何从URL中删除index.php?
答案 0 :(得分:11)
允许跨站点脚本编写可能会导致安全问题,请尝试调整codeigniter选项;
application/config/config.php
文件,$config['base_url'] = "";
和将项目文件夹的路径设置为值。
$config['base_url']="http://localhost/yourProjectFolder/";
答案 1 :(得分:7)
尝试允许GET&amp; OPTIONS
<?php
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Methods: GET, OPTIONS");
如果上述方法不起作用,请尝试允许通过.htaccess
(对于apache)或在nginx服务器块中访问字体资源 - 添加以下行:
# Apache config
<FilesMatch ".(eot|ttf|otf|woff)">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
或
# nginx config
if ($filename ~* ^.*?\.(eot)|(ttf)|(woff)$){
add_header Access-Control-Allow-Origin *;
}
答案 2 :(得分:2)
Codeigniter是一个很酷的操作PHP的框架,对于CORS,您无需启用它,因为它具有安全性,只需执行以下操作
config.php
,$config['base_url'] = "";
$config['base_url']="http://localhost/youproject/";
保存并重新加载您的应用程序。 你该走了
答案 3 :(得分:1)
我们想添加&#39; www&#39;域名前面。
转到application / config / config.php文件,
git
更改为
$config['base_url']="http://yourdoamin.com";
答案 4 :(得分:1)
将其直接添加到您的php控制器文件中:
Header('Access-Control-Allow-Origin: *'); //for allow any domain, insecure
Header('Access-Control-Allow-Headers: *'); //for allow any headers, insecure
Header('Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE'); //method allowed
答案 5 :(得分:0)
在.htaccess
文件中添加“ 全部允许”,如果仍然无法运行。
<FilesMatch ".(ttf|otf|eot|woff|woff2)$">
<IfModule mod_headers.c>
Allow from all
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
答案 6 :(得分:0)
根据我的经验,这些答案都对我不可用,重要项目遗漏了。使用“ *”是不安全的。
header("Access-Control-Allow-Headers: Origin,X-Requested-With");
在Web上的每个地方,专家都只提示此标头的很少和常见的列表。 如果出于某些原因(例如授权)自定义标头,则需要使用此类扩展列表。使用与您使用的选项相关的标题
header("Access-Control-Allow-Headers: Origin,X-Requested-With,Content-Type,Accept,Access-Control-Request-Method,Authorization,Cache-Control")
答案 7 :(得分:0)
在 Codeigniter __construct 中使用 header() 函数
public function __construct()
{
parent::__construct();
$this->load->model('api_model');
$this->load->library('form_validation');
Header('Access-Control-Allow-Origin: *'); //for allow any domain, insecure
Header('Access-Control-Allow-Headers: *'); //for allow any headers, insecure
Header('Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE'); //method allowed
//Or
header('Access-Control-Allow-Origin: website_url');
header("Content-Type: application/json; charset=UTF-8");
Header('Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE'); //method allowed
}