Я хочу разрешить совместное использование ресурсов из всех субдоменов from.example.com . Поэтому я добавил заголовок совместного использования ресурсов Cross-origin, как показано ниже, на страницу в subdomain1.to.example.com .
<?php header('Access-Control-Allow-Origin: *.from.example.com');
И я попытался получить доступ к форме страницы subdomain1.from.example.com, используя ajax. Я не получил ответа. Поэтому я просто изменил приведенный выше заголовок, как показано ниже.
<?php header('Access-Control-Allow-Origin: http://subdomain1.from.example.com');
Он работает хорошо только для subdomain1.from.example.com .
В чем проблема с первым заголовком?
В заголовке Access-Control-Allow-Origin
не допускаются подстановочные знаки. Это должно быть точное совпадение. Вы можете либо разрешить все домены, установив значение в *
, либо условно отразить значение заголовка запроса Origin
если оно соответствует одному из ваших разрешенных доменов.
Обратите внимание, что спецификация Origin допускает множественное происхождение, разделенное пробелом. Однако я не уверен, что это работает с заголовком Access-Control-Allow-Origin
. Возможно, стоит попробовать.