Miro'nun http://www.webconfs.com/http-header-check.php başlık denetleyicisi sitesine bağlantı için yanıtını + 1'ledim . Her kullandığınızda iğrenç bir reklam açar, ancak yine de Access-Control-Allow-Origin başlığının varlığını doğrulamak için çok kullanışlıdır.
Web sayfamda javascript'ten bir .json dosyası okuyorum. .Htaccess dosyama aşağıdakileri eklemenin, web sayfamı IE 11'de (sürüm 11.447.14393.0) görüntülerken sorunu çözdüğünü fark ettim:
<FilesMatch "\.(json)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
Ayrıca /etc/httpd.conf'a (Apache'nin yapılandırma dosyası) şunu ekledim:
AllowOverride All
Üstbilgi denetleyicisi sitesi, Access-Control-Allow-Origin başlığının şimdi gönderildiğini doğruladı (teşekkürler, Miro!).
Bununla birlikte, Firefox 50.0.2, Opera 41.0.2353.69 ve Edge 38.14393.0.0 , Access-Control-Allow-Origin başlığı olmasa bile dosyayı bir şekilde alır . (Not: Kullandığım iki etki alanı aynı sunucuda, aynı IPv4 adresinde barındırıldığından, IP adreslerini kontrol ediyor olabilirler.)
Ancak, Chrome 54.0.2840.99 m (64-bit), Access-Control-Allow-Origin başlığını yok sayar ve yine de başarısız olur ve hatalı bir şekilde rapor verir:
İstenen kaynakta 'Access-Control-Allow-Origin' başlığı yok. Bu nedenle ' {alanım} ' kaynağına erişime izin verilmiyor.
Bunun bir çeşit "ilk" olması gerektiğini düşünüyorum. IE düzgün çalışıyor; Chrome, Firefox, Opera ve Edge hepsi bozuk; ve Chrome en kötüsü . Bu normal durumun tam tersi değil mi?
a2enmod headers