CORS "L'intestazione di Access-Control-Allow-Origin" è presente, ma c'è ancora

Queste tre intestazioni vengono aggiunte usando PHP

header('Content-Type: application/json; charset=UTF-8;'); header('Access-Control-Allow-Methods: GET, POST'); header('Access-Control-Allow-Origin: *'); 

Tutte le intestazioni inviate sono:

  HTTP/1.1 200 OK Date: Mon, 30 Jun 2014 06:39:29 GMT Server: Apache X-Powered-By: PHP/5.3.28 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Access-Control-Allow-Methods: GET, POST Access-Control-Allow-Origin: * Vary: Accept-Encoding,User-Agent Content-Encoding: gzip Cache-Control: max-age=1, private, must-revalidate Content-Length: 20 Keep-Alive: timeout=3, max=100 Connection: Keep-Alive Content-Type: application/json; charset=UTF-8; 

Tuttavia, quando si tenta di utilizzare $ .json o $ .post per il target di questo server, ottengo questo errore nella console di Chrome:

  XMLHttpRequest cannot load http://cms.webdevguru.co.uk/gurucms.php?mode=addto&apikey=606717496665bcba. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://remote.webdevguru.co.uk' is therefore not allowed access. 

So che questo è un duplicato ansible di alcune altre domande, ma da quando ho passato molte di loro e ho provato alcune cose da loro per cercare di risolvere questo problema: vorrei apprezzare alcune risposte specifiche per affrontare il mio problema a portta di mano.

Come ha capito Joachim Isaksson, perché le intestazioni iniziali consistono in un reindirizzamento 301, c'è un modo per forzare la richiesta di seguire il Redirect prima di controllare le intestazioni di Access-Control-Allow-Origin?

Il motivo per cui CORS non funziona è che il tuo link dà un "301 Moved Permanently" senza un'intestazione CORS, reindirizzandosi ad un altro link.

Il collegamento che reindirizza per submit l'intestazione, tuttavia sembra che CORS abbia già abbandonato la preflight sulla prima risposta.

Il passaggio di un'intestazione "Access-Control-Allow-Origin" con il 301 potrebbe risolvere il problema, che dovrebbe permettere che il preflight continui.