为跨域ajax请求设置访问控制

时间:2012-08-12 04:26:19

标签: performance http .htaccess access-control cors

我有三个子域名,a.xyz.com, b.xyz.com, c.xyz.com.现在,我对a.xyz.com.

的正文载入提出了约20个ajax请求

所以,我想在上面的三个域中平均分配20个请求。我在b.xyz.comc.xyz.com的.htaccess中通过这段代码尝试了一下。但是,从a.xyz.com到任何其他子域的请求仍然被转储。

<IfModule mod_headers.c>
   <FilesMatch "\.(php)$">
    Header set Access-Control-Allow-Origin: http://a.xyz.com,http://b.xyz.com,http://b.xyz.com
    Header set Access-Control-Allow-Methods : POST,GET,OPTIONS
</FilesMatch>
  </IfModule>

我已将上述.htaccess文件放入我的子域b.xyz.comc.xyz.com

那么,任何人都可以预测我的方法有什么不对吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

尝试此操作以允许所有xyz.com子域上的跨域:

SetEnvIf Origin "http(s)?://(.+\.)?(xyz\.com)$" ORIGIN_DOMAIN=$0
<FilesMatch "\.(php)$">
  <IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin %{ORIGIN_DOMAIN}e env=ORIGIN_DOMAIN
    Header set Access-Control-Allow-Methods "POST,GET,OPTIONS"
  </IfModule>
</FilesMatch>