Fonte bloqueada de carregamento pela diretiva de compartilhamento de recursos de origem cruzada: Não 'Access-Control-Allow-Origin'


16

estamos com esse erro no Google Chrome. Achamos que tudo estava configurado corretamente. Mas talvez não?

A fonte da origem http://skin.cdn.comfoi impedida de carregar pela política de Compartilhamento de Recursos entre Origens: Nenhum cabeçalho 'Acesso-Controle-Permitir-Origem' está presente no recurso solicitado. http://domain2.comPortanto, a origem não é permitida.

E temos o seguinte no htaccess (na raiz do domínio).

<IfModule mod_headers.c>    
Header add Access-Control-Allow-Origin "http://skin.cdn.com" 
</IfModule>

Pergunta: esqueci outras configurações?

Muito Obrigado

Respostas:


17

Altere o código do arquivo htaccess no diretório raiz do site (ou seja, o arquivo public_html ".htaccess")

<FilesMatch "\.(ttf|otf|eot|woff|woff2)$">
    <IfModule mod_headers.c>
        Header set Access-Control-Allow-Origin "http://skin.cdn.com"
    </IfModule>
</FilesMatch>

Agora sua CDN poderá carregar seu recurso, chamando-o como um recurso de passagem seu (as fontes).

CAVEAT: É necessário PURGAR TUDO na sua CDN para que os arquivos sejam atualizados em alguns minutos.


11
Sua resposta funcionou perfeitamente para mim, mas posso perguntar por que você escolheu o curinga em vez de limitá-lo a origens específicas?
amgraham

Este método ainda está funcionando.
Rahul

0

Não tenho reputação suficiente para comentar a resposta de @Prashant Tapase, mas seu diretório raiz não é seu Public_html. Este é um subdiretório do seu diretório raiz. e pelas respostas que tenho pesquisado A diretiva FileMatch deve estar dentro do IfModule Como mostrado abaixo

<IfModule mod_headers.c>
    <FilesMatch "\.(eot|otf|ttc|ttf|woff|woff2)$">
        Header set Access-Control-Allow-Origin "*"
    </FilesMatch>
</IfModule>

Por favor, corrija-me se isso estiver errado.
Ou você pode especificar URLs / URIs específicos de fontes como ele mencionou.

Além disso, se for uma CDN, você deve usar a versão https, e não http, se possível.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.