我想配置apache以允许多个但不是所有域的XMLHttpRequests。
这样做:
Header set Access-Control-Allow-Origin "*"
但是这是不安全的,我想允许我指定的域名,所以经过一番谷歌搜索,我得到了:
Header set Access-Control-Allow-Origin "http://domain1.com http://domain2.com"
但是这只是首选域,第二个是不允许的。如何正确指定多个域?
您可以使用.htaccess文件中的SetEnvIf或vhost文件(“目录”组内))中的SetEnvIf:
原文链接:https://www.f2er.com/ajax/160261.html<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配置不同的子域或模式。