我正在努力让CORS在多个域中运行。
Header add Access-Control-Allow-Origin "http://localhost, http://multiplay.io"
但是,似乎大多数浏览器只支持一个域。我被告知解决方案是为每个传入域设置标头。
如何使用.htaccess文件执行此操作?
答案 0 :(得分:4)
如果您只希望在两个值之间切换,则可以使用SetEnvIf
来区分这两个值。
SetEnvIf Referer "^http://localhost/" is_localhost
Header add Access-Control-Allow-Origin http://localhost env=is_localhost
Header add Access-Control-Allow-Origin http://multiplay.io env!=is_localhost
可能有更优雅的解决方案,但上述(未经测试的)指令之类的东西应该有效。
(请注意,伪造Referer标头是微不足道的,因此在使用Referer标头时,请注意伪造的Referer标头的安全含义。)
此外,如果您只想允许所有主机,则可以指定*
而不是列出多个主机名:
Header add Access-Control-Allow-Origin *
但我认为你已经知道了,并且不想那么宽容。