Saya membuat skrip yang memuat secara eksternal di situs lain. Ini memuat CSS dan HTML dan berfungsi dengan baik di server saya sendiri.
Namun, ketika saya mencobanya di situs web lain ia menampilkan kesalahan mengerikan ini:
Access-Control-Allow-Origin
Di sini Anda dapat melihatnya memuat dengan sempurna: http://tzook.info/bot/
Tetapi di situs web lain ini menunjukkan kesalahan: http://cantloseweight.co/robot/
Saya mengunggah skrip pemuatan ke jsfiddle: http://jsfiddle.net/TL5LK/
Saya mencoba mengedit file htaccess seperti ini:
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin *
</IfModule>
Atau seperti ini:
Header set Access-Control-Allow-Origin *
Tapi itu masih tidak berhasil.
.htaccess
cors
cross-domain
Tzook Bar Noy
sumber
sumber
FilesMatch
.*
?js
menjadijson
.*
memungkinkan domain asal untuk mengakses sumber ini. Ini bukan daftar sumber daya, tetapi daftar domain referensi.headers
modul:a2enmod headers
tidak ada yang mengatakan bahwa Anda juga harus mengaktifkan mod_headers , jadi jika masih tidak berfungsi, coba ini:
(tips berikut berfungsi di Ubuntu, tidak tahu tentang distro lain)
Anda dapat memeriksa daftar modul yang dimuat dengan
untuk mengaktifkan mod_headers yang dapat Anda gunakan
tentu saja setelah ada perubahan di Apache Anda harus me-restart itu:
Maka Anda bisa menggunakannya
Dan jika mod_headers tidak aktif, baris ini tidak akan melakukan apa pun. Anda dapat mencoba melewati jika klausa dan menambahkan
Header set Access-Control-Allow-Origin "*"
konfigurasi Anda, maka itu akan melempar kesalahan saat mulai jika mod_headers tidak aktif.sumber
dari pengalaman saya;
jika tidak bekerja dari dalam,
php
lakukan ini di.htaccess
dalamnya bekerja untuk sayasumber
Tambahkan
.htaccess
file dengan arahan berikut ke folder font Anda, jika memiliki masalah mengakses font Anda. Dapat dengan mudah dimodifikasi untuk digunakan dengan file .css atau .js .sumber
<FilesMatch>
arahan di atas tidak perlu, jika , seperti yang disarankan di atas,.htaccess
file Anda ada di direktori font Anda dan direktori font Anda hanya berisi.eot
,.ttf
,.otf
dan / atau.woff
file.Jawaban lain tidak berhasil untuk saya, inilah yang akhirnya melakukan trik untuk apache2:
1) Aktifkan tajuk mod:
sudo a2enmod headers
2) Buat
/etc/apache2/mods-enabled/headers.conf
file dan masukkan:3) Mulai ulang server Anda:
sudo service apache2 restart
sumber
Di Zend Framework 2.0 saya punya masalah ini. Dapat diselesaikan dengan dua cara .htaccess atau header php saya lebih suka .htaccess jadi saya memodifikasi .htaccess dari:
untuk
dan mulai bekerja
sumber
BTW: .htaccess config harus dilakukan di server hosting API. Misalnya Anda membuat aplikasi AngularJS di domain x.com dan membuat API Istirahat di y.com, Anda harus mengatur Access-Control-Allow-Origin "*" di file .htaccess pada folder root y.com bukan x .com :)
Juga seperti yang disebutkan Lukas pastikan Anda telah mengaktifkan mod_headers jika Anda menggunakan Apache
sumber
Pastikan Anda tidak mengalami pengalihan. Ini bisa terjadi jika Anda tidak menyertakan garis miring di URL.
Lihat jawaban ini untuk detail lebih lanjut - https://stackoverflow.com/a/27872891/614524
sumber
Jika tuan rumah Anda tidak di pvn atau berdedikasi, sulit untuk me-restart server.
Solusi yang lebih baik dari saya, cukup edit file CSS Anda (di domain lain atau subdomain Anda) yang memanggil font eot, woff dll ke asal Anda (domain Anda atau www domain Anda). itu akan menyelesaikan masalah Anda.
Maksud saya, edit url relatif pada css ke domain asal url absolut
sumber