我有一个子域" x.domain.com "然后调用静态文件子域中的文件" y.domain.com "。
在我的配置文件中,我有:
require_once("/var/_BACKEND$/functions/cors.php");
这包括文件正常。 " cors.php"的内容是这个问题的答案中包含的代码: CORS with php headers(我试过搜索这个问题!!)
在配置文件的底部我也有代码:
if(!function_exists('cors')) die("err"); else cors();
现在出于某种原因,尽管代码完全如上,并且文件包含正常,我仍然从浏览器收到以下错误:
XMLHttpRequest无法加载 http://y.domain.com/scripts/ajax.php。没有 '访问控制允许来源'标题出现在请求的上 资源。起源' http://x.domain.com'因此是不允许的 访问。
使用标题检查器还会带来以下结果:
302是故意的。
这一切都应该出现
答案 0 :(得分:1)
你不能这样做。
Access-Control-Allow-Origin
必须出现在允许访问的实际资源上,而不仅仅是重定向。 (否则,您可以通过将此标题重定向到您想要的任何内容来绕过安全限制!)
答案 1 :(得分:0)
你试过用.htaccess吗?
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
启用a2enmod标头
或修改您的php脚本并将*
(星号)替换为x-requested-with