为子域启用跨源

为子域启用跨源

我有 2 个子域名av.xyz.examplevideo.xyz.example。我想为 启用video.xyz.exampleCORS av.xyz.example

我在 apache 配置文件中添加了以下代码片段av.xyz.com

Header set Access-Control-Allow-Origin "video.xyz.example"`

但我收到以下错误

“Access-Control-Allow-Origin”标头包含无效值“video.xyz.example”。来源'https://video.xyz.example' 因此不允许访问。'

我尝试使用它*但仍然收到错误,提示不允许使用通配符,尝试使用 -^(.*\.xyz\.example)$但仍然收到错误,提示值无效。

在我的场景中正确的值应该是什么?

答案1

如果您正在尝试为您的域的所有子域找到跨站点来源问题的解决方案,那么这里有一个更为可靠的答案:

https://stackoverflow.com/a/39668584/1402498

答案2

嗨,我可以用这个代码解决这个问题

<IfModule mod_headers.c>
   SetEnvIfNoCase Origin "https?://(www\.)?(xyz\.com|video\.xyz\.com)(:\d+)?$" ACAO=$0
   Header set Access-Control-Allow-Origin %{ACAO}e env=ACAO
</IfModule>

答案3

看起来您可能没有正确指定原点。请尝试以下方法:

Header set Access-Control-Allow-Origin "https://video.xyz.example"

答案4

刚刚搜索我的问题时找到了这个页面。它也有子域名,但也有不同的顶级域名。

some-subdomains.GEMINI-next-Generation.House 用于英语内容 some-subdomains.GEMINI-next-Generation.Haus 用于德语内容

因此通配符必须是 https://*.GEMINI-next-Generation.H*

如何将其放入标题行中?

相关内容