【发布时间】:2014-01-07 13:26:46
【问题描述】:
我想为跨域访问标头配置 apache。我已经按照论坛上线程数的建议尝试了多种组合。但它不适合我。
方法,我试过了:
1) 使用Header set 如下在不同行指定域:
Header set Access-Control-Allow-Origin "example1.com"
Header set Access-Control-Allow-Origin "example2.com"
Header set Access-Control-Allow-Origin: "example3.com"
使用此设置,它会选择只选择最后一个并忽略其余的。
2) 使用Header add 如下在不同行指定域:
Header add Access-Control-Allow-Origin "example1.com"
Header add Access-Control-Allow-Origin "example2.com"
Header add Access-Control-Allow-Origin: "example3.com"
它在标题中显示所有三个域,但字体在 Firefox 上没有被选中。
3.) 尝试使用 SetEnvIf,但它再次不起作用:
SetEnvIf Origin "http(s)?://(www\.)?(mydomain.com|mydomain2.com)$" AccessControlAllowOrigin=$0$1
Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
终于用“*”了,但我不想用这个。
请帮忙。
【问题讨论】:
-
您是否阅读过这篇文章:stackoverflow.com/a/4730826/550618 的 304 响应代码问题?
-
如果我使用“标题集”,那么它在 FF 上工作。但在那种情况下,它只占用最后一个域:(我想为多个域进行配置。
-
问题不是
set或add,是加了always关键字 -
仍然有同样的问题。如果我使用“always”关键字并设置如下: 标头始终设置 Access-Control-Allow-Origin “example1.com” 标头始终设置 Access-Control-Allow-Origin “example2.com” 标头始终设置 Access-Control-Allow -Origin:“example3.com”然后它只采用最后一个域和字体在FF上工作。另一方面,如果我将 always 关键字与 add 一起使用,如下所示: 标头始终添加 Access-Control-Allow-Origin "example1.com" 标头始终添加 Access-Control-Allow-Origin "example2.com" 标头始终添加 Access-Control -Allow-Origin: "example3.com" 然后字体在 FF 上不起作用。
-
各位专家,您能指导我吗?
标签: apache .htaccess http cross-domain cors