我创建外部加载在其他网站上的脚本。 它加载CSS和HTML和我自己的服务器工作正常。
然而,当我尝试在其他网站上会显示这个可怕的错误:
Access-Control-Allow-Origin
在这里,你可以看到它加载完美: http://tzook.info/bot/
但这其他网站上显示错误: http://cantloseweight.co/robot/
我上传的加载脚本的jsfiddle: http://jsfiddle.net/TL5LK/
我试图编辑这样的htaccess文件:
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin *
</IfModule>
或者是这样的:
Header set Access-Control-Allow-Origin *
但它仍然无法正常工作。
Answer 1:
在外部根文件夹的.htaccess试试这个:
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
如果它只是涉及的.js脚本,你应该换这里面上面的代码:
<FilesMatch "\.(js)$">
...
</FilesMatch>
Answer 2:
没有人说,你还必须有mod_headers中启用,因此,如果仍无法正常工作,试试这个:
(下面的提示在Ubuntu的作品,不知道其他的分布)
你可以检查与加载的模块
apache2ctl -M
让你mod_headers中可以使用
a2enmod headers
当然Apache中的任何改变后必须重新启动它:
/etc/init.d/apache2 restart
然后你可以使用
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
而如果是mod_headers中不活跃,这条线将什么也不做。 你可以尝试跳过的条款,只是添加Header set Access-Control-Allow-Origin "*"
在你的配置,那么就应该启动期间抛出错误,如果是mod_headers中不活跃。
Answer 3:
从我的经验;
如果它不从内部运行php
做在.htaccess
它为我工作
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin http://www.vknyvz.com
Header set Access-Control-Allow-Credentials true
</IfModule>
Answer 4:
添加.htaccess
以下指令文件到您的字体文件夹,如果有问题,访问您的字体。 可以很容易地修改与的.css或.js文件使用。
<FilesMatch "\.(eot|ttf|otf|woff)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
Answer 5:
在Zend框架2.0我有这个问题。 可以通过以下两种方式的.htaccess或php头,我更喜欢的.htaccess,所以我修改的.htaccess从解决:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
至
RewriteEngine On
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
并开始工作
Answer 6:
其他答案没有工作对我来说,这是最终做apache2的诀窍:
1)使能标头MOD:
sudo a2enmod headers
2)创建/etc/apache2/mods-enabled/headers.conf
文件,插入:
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
3)重新启动服务器:
sudo service apache2 restart
Answer 7:
BTW:在的.htaccess配置必须托管API的服务器上完成。 例如,您创建x.com域的AngularJS应用程序,并创建一个y.com REST API,你应该设置访问控制允许来源“*”在y.com的根文件夹中的.htaccess文件不是X .COM :)
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
另外,作为卢卡斯提到的化妆肯定,如果你使用Apache已mod_headers中启用
Answer 8:
确保你没有重定向发生。 如果不包含在URL尾部斜杠就会发生这种情况。
看到这个答案的更详细- https://stackoverflow.com/a/27872891/614524
文章来源: htaccess Access-Control-Allow-Origin