Estou criando um script que carrega externamente em outros sites. Carrega CSS e HTML e funciona bem em meus próprios servidores.
No entanto, quando eu tento em outro site, ele exibe esse erro terrível:
Access-Control-Allow-Origin
Aqui você pode ver que ele carrega perfeitamente: http://tzook.info/bot/
Mas neste outro site, mostra o erro: http://cantloseweight.co/robot/
Carreguei o script de carregamento no jsfiddle: http://jsfiddle.net/TL5LK/
Eu tentei editar o arquivo htaccess assim:
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin *
</IfModule>
Ou assim:
Header set Access-Control-Allow-Origin *
Mas ainda não funciona.
.htaccess
cors
cross-domain
Tzook Bar Noy
fonte
fonte
FilesMatch
.*
fará?js
parajson
.*
permite que qualquer domínio de origem acesse este recurso. Não é uma lista de recursos, mas uma lista de domínios de referência.headers
módulo:a2enmod headers
ninguém diz que você também precisa ativar o mod_headers ; portanto, se ainda não estiver funcionando, tente o seguinte:
(as dicas a seguir funcionam no Ubuntu, não conheço outras distribuições)
você pode verificar a lista de módulos carregados com
para habilitar mod_headers você pode usar
é claro que, após qualquer alteração no Apache, você deve reiniciá-lo:
Então você pode usar
E se mod_headers não estiver ativo, essa linha não fará nada. Você pode tentar pular a cláusula if e apenas adicionar
Header set Access-Control-Allow-Origin "*"
sua configuração, então deve ocorrer um erro durante o início se mod_headers não estiver ativo.fonte
da minha experiência;
se não funcionar de dentro,
php
faça isso.htaccess
, funcionou para mimfonte
Adicione um
.htaccess
arquivo com as seguintes diretivas à sua pasta de fontes, se tiver problemas para acessar suas fontes. Pode ser facilmente modificado para uso com arquivos .css ou .js .fonte
<FilesMatch>
diretiva acima é desnecessária, se , como sugerido acima, seu.htaccess
arquivo estiver no diretório de fontes e o diretório de fontes contiver apenas.eot
,.ttf
,.otf
E / ou.woff
arquivos.As outras respostas não funcionaram para mim, foi o que acabou fazendo o truque para o apache2:
1) Habilite o mod de cabeçalhos:
sudo a2enmod headers
2) Crie o
/etc/apache2/mods-enabled/headers.conf
arquivo e insira:3) Reinicie seu servidor:
sudo service apache2 restart
fonte
No Zend Framework 2.0, eu tive esse problema. Pode ser resolvido no cabeçalho .htaccess ou php de duas maneiras. Prefiro .htaccess, então modifiquei .htaccess de:
para
e começa a funcionar
fonte
BTW: a configuração .htaccess deve ser feita no servidor que hospeda a API. Por exemplo, você cria um aplicativo AngularJS no domínio x.com e cria uma API Rest em y.com, defina Access-Control-Allow-Origin "*" no arquivo .htaccess na pasta raiz de y.com e não x .com :)
Além disso, como Lukas mencionou, certifique-se de ativar o mod_headers se você usa o Apache
fonte
Verifique se você não tem um redirecionamento acontecendo. Isso pode acontecer se você não incluir a barra no URL.
Veja esta resposta para obter mais detalhes - https://stackoverflow.com/a/27872891/614524
fonte
Se o seu host não estiver no pvn ou dedicado, é difícil reiniciar o servidor.
Melhor solução para mim, basta editar seu arquivo CSS (em outro domínio ou subdomínio) que chame a fonte eot, woff etc. para sua origem (seu domínio ou www seu domínio). isso resolverá o seu problema.
Quero dizer, editar URL relativo em CSS para domínio de origem de URL absoluto
fonte