Font diblokir dari pemuatan oleh kebijakan Berbagi Sumber Daya Lintas-Negara: Tidak Ada 'Akses-Kontrol-Izinkan-Asal'

16

kami mengalami kesalahan ini di Google Chrome. Kami pikir semuanya sudah benar. Tapi mungkin tidak?

Font dari asal http://skin.cdn.comtelah diblokir dari pemuatan oleh kebijakan Berbagi Sumber Daya Lintas-Negara: Tidak ada tajuk 'Akses-Kontrol-Bolehkan-Asal' hadir pada sumber daya yang diminta. http://domain2.comKarena itu, Asal tidak diizinkan mengakses.

Dan kami memiliki yang berikut di htaccess (di root domain).

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

Pertanyaan: apakah saya lupa pengaturan lain?

terimakasih banyak

snh_nl
sumber

Jawaban:

17

Ubah kode file htaccess Anda di direktori root situs web Anda (mis. File public_html ".htaccess" Anda)

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

Sekarang CDN Anda akan diizinkan untuk memuat sumber daya Anda memanggil mereka sebagai sumber daya lewat Anda (font).

CAVEAT: Anda harus MEMBELI SEMUA di CDN Anda sehingga file akan diperbarui dalam beberapa menit.

Tapase Prashant
sumber
1
Jawaban Anda bekerja dengan sempurna untuk saya, tetapi dapatkah saya bertanya mengapa Anda memilih wildcard daripada memilih untuk membatasi ke asal tertentu?
amgraham
Metode ini masih berfungsi.
Rahul
0

Saya tidak memiliki reputasi yang cukup untuk mengomentari jawaban @Pashash Tapase, Tapi Direktori root Anda bukan Public_html Anda. Ini adalah sub direktori dari direktori root Anda. & dari jawaban yang saya teliti, direktif FileMatch harus ada di dalam IfModule Seperti yang ditunjukkan di bawah ini

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

Harap perbaiki saya jika ini salah.
Atau Anda dapat menentukan URL spesifik / URI font seperti yang telah disebutkan.

Juga Jika itu adalah CDN, Anda harus menggunakan versi https bukan http jika memungkinkan.

Ryan Stone
sumber