11

我想允许来自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

第一个标题有什么问题?

4

1 回答 1

17

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

请注意,Origin 规范允许使用空格分隔多个来源。但是我不确定这是否适用于Access-Control-Allow-Origin标题。可能值得一试。

于 2012-10-05T15:13:31.460 回答