我正在创建一个从外部加载到其他站点的脚本。它加载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 *
但它仍然不起作用。
发布于 2012-12-14 08:40:09
在外部根文件夹的.htaccess中尝试执行以下操作:
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
如果只涉及.js脚本,您应该将上面的代码封装在下面的代码中:
<FilesMatch "\.(js)$">
...
</FilesMatch>
发布于 2014-01-13 13:40:39
在Zend Framework2.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]
它开始起作用了
发布于 2016-04-07 16:01:05
其他的答案对我来说都不起作用,这就是最终对apache2有用的答案:
1)启用headers 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
https://stackoverflow.com/questions/13421463
复制相似问题