Saya tidak tahu mengapa .htaccess
pengaturan header saya tidak berfungsi.
.htaccess
Isi file saya :
Header set Access-Control-Allow-Origin *
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Allow-Headers "*"
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
Tapi ketika saya menghapus Header
dan menambahkannya index.php
maka semuanya bekerja dengan baik.
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS");
header("Access-Control-Allow-Headers: *");
Apa yang saya lewatkan?
.htaccess
mod-rewrite
rewrite
cors
pengguna1401592
sumber
sumber
a2enmod headers
Header set
dalam kasus ini. Jika kode diubah dan TIDAK mengatur header, meminta Apache melakukan aheader add
akan mengirimkan header ** ganda. Ini akan merusak klien seperti Restangular misalnya.Header add Access-Control-Allow-Credentials "true"
Sekadar catatan, saya mengalami masalah yang sama persis dan tidak ada jawaban yang berhasil.
Saya menggunakan alat pemeriksa header: http://www.webconfs.com/http-header-check.php
Saya sedang menguji dengan IP saya (
http://192.0.2.1/upload
) dan yang kembali adalah sebagai berikut:Terjadi pengalihan dan permintaan AJAX tidak mematuhi / mengikuti pengalihan.
Ternyata ada garis miring yang hilang di akhir domain ( http://192.0.2.1/upload / )
Saya menguji lagi dengan garis miring di akhir dan saya mendapatkan ini di bawah. Menambahkan garis miring di skrip juga, dan sekarang berfungsi.
Gunakan alat ini untuk menguji apakah tajuk Anda bagus dan untuk memecahkan masalah yang terjadi.
sumber
Saya memiliki hosting bersama di GoDaddy. Saya membutuhkan jawaban untuk pertanyaan ini juga, dan setelah mencari di sekitar saya menemukan bahwa itu mungkin.
Saya menulis file .htaccess, meletakkannya di folder yang sama dengan halaman tindakan saya. Berikut isi dari file .htaccess:
Ini panggilan ajax saya:
Lihat artikel ini untuk referensi:
Kumpulan header Access-Control-Allow-Origin di .htaccess tidak berfungsi
sumber
Hati-hati pada:
Ini sama sekali tidak bijaksana untuk memberikan akses kepada semua orang. Lebih baik mengizinkan daftar host tepercaya yang tahu saja ...
Salam,
sumber
Saya mengaktifkan header modul Apache a2enmod header, dan masalah telah diselesaikan.
sumber
sudo a2enmod headers
dan restart membuatnya bekerja!Coba ini di .htaccess dari folder root eksternal
Berhati-hatilah: Tambahkan header Access-Control-Allow-Origin "*" Ini sama sekali tidak bijaksana untuk memberikan akses kepada semua orang. Saya pikir Anda harus menggunakan:
sumber
Saya memberi jawaban Miro +1 untuk tautan ke situs pemeriksa tajuk http://www.webconfs.com/http-header-check.php . Itu memunculkan iklan yang menjengkelkan setiap kali Anda menggunakannya, tetapi, bagaimanapun, sangat berguna untuk memverifikasi keberadaan tajuk Access-Control-Allow-Origin.
Saya membaca file .json dari javascript di halaman web saya. Saya menemukan bahwa menambahkan yang berikut ini ke file .htaccess saya memperbaiki masalah saat melihat halaman web saya di IE 11 (versi 11.447.14393.0):
Saya juga menambahkan yang berikut ini ke /etc/httpd.conf (file konfigurasi Apache):
Situs pemeriksa header memverifikasi bahwa header Access-Control-Allow-Origin sekarang sedang dikirim (terima kasih, Miro!).
Namun, Firefox 50.0.2, Opera 41.0.2353.69, dan Edge 38.14393.0.0 semuanya mengambil file tersebut, bahkan tanpa header Access-Control-Allow-Origin. (Catatan: mereka mungkin memeriksa alamat IP, karena dua domain yang saya gunakan dihosting di server yang sama, di alamat IPv4 yang sama.)
Namun, Chrome 54.0.2840.99 m (64-bit) mengabaikan header Access-Control-Allow-Origin dan bagaimanapun juga gagal, melaporkan secara keliru:
Saya pikir ini harus menjadi semacam "pertama." IE bekerja dengan benar; Chrome, Firefox, Opera dan Edge semuanya bermasalah; dan Chrome adalah yang terburuk . Bukankah itu kebalikan dari kasus biasa?
sumber
Setelah menghabiskan setengah hari tanpa pekerjaan. Menggunakan layanan pemeriksaan tajuk meskipun semuanya berfungsi. Firewall sedang melucuti mereka
sumber
coba ini:
Lebih baik mengizinkan daftar host tepercaya yang diketahui.
sumber
Jika ada orang lain yang mencoba ini, jawaban yang paling disukai akan berfungsi. Namun, jika Anda mengalami masalah, mungkin saja browser telah menyimpan PERMINTAAN dalam cache. Untuk mengonfirmasi menambahkan string kueri.
sumber