Access-Control-Allow-Origin语法

时间:2012-10-05 10:25:52

标签: php ajax http cross-domain cors

我希望允许来自from.example.com 的所有子域的跨源资源共享。 因此,我将以下给出的跨源资源共享标头添加到 subdomain1.to.example.com 中的页面。

<?php header('Access-Control-Allow-Origin: *.from.example.com');

我尝试使用ajax访问页面表单 subdomain1.from.example.com 。 我没有得到答复。所以我刚刚更改了上面的标题。

<?php header('Access-Control-Allow-Origin: http://subdomain1.from.example.com');

仅适用于 subdomain1.from.example.com

第一个标题出现了什么问题?

1 个答案:

答案 0 :(得分:16)

Access-Control-Allow-Origin标题中不允许使用通配符。它必须完全匹配。您可以通过将值设置为*来允许所有域,也可以有条件地回显Origin请求标头的值(如果它与您允许的域之一匹配)。

请注意,多个来源的Origin spec allows由空格分隔。但是我不确定这是否适用于Access-Control-Allow-Origin标题。值得一试。