ajax – 如何使用Access-Control-Allow-Origin标头配置apache来处理多个域?

前端之家收集整理的这篇文章主要介绍了ajax – 如何使用Access-Control-Allow-Origin标头配置apache来处理多个域?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想配置apache以允许多个但不是所有域的XMLHttpRequests。

这样做:

Header set Access-Control-Allow-Origin "*"

但是这是不安全的,我想允许我指定的域名,所以经过一番谷歌搜索,我得到了:

Header set Access-Control-Allow-Origin "http://domain1.com http://domain2.com"

但是这只是首选域,第二个是不允许的。如何正确指定多个域?

您可以使用.htaccess文件中的SetEnvIf或vhost文件(“目录”组内))中的SetEnvIf:
<IfModule mod_headers.c>
   SetEnvIfNoCase Origin "https?://(www\.)?(mydomain\.com|mydomain2\.com)(:\d+)?$" AccessControlAllowOrigin=$0
   Header set Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
</IfModule>

使用此代码,您可以允许访问

>“mydomain.com”和“mydomain2.com”
>有或没有“www”。前面
>有或没有端口号
> http或https

您可以添加用|分隔的多个域或者您可以使用regexp配置不同的子域或模式。

原文链接:https://www.f2er.com/ajax/160261.html

猜你在找的Ajax相关文章