PHP Access-Control-Allow-Origin无法正常工作

时间:2014-12-18 20:46:31

标签: php jquery ajax access-control

我有一个子域" 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是故意的。

http headers

这一切都应该出现

2 个答案:

答案 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