我有2个网站,A
和B
。
网站A
应该向B/somescript.php
发出AJAX请求。
在网站B
上,我正在使用.htaccess
文件将http://domain.tld
重定向到https://www.domain.tld
,如下所示:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
现在,考虑到网站A
将发出跨域请求的事实,浏览器应该会看到一个Access-Control-Allow-Origin标头,我很乐意将其添加到{ {1}}文件如下:
.htaccess
,但Firefox似乎没有考虑到该Header set Access-Control-Allow-Origin "*"
字符。而且我希望它可以与多个wildcard
网站一起使用。
如果我将标题设置在A
内,那将毫无用处,因为浏览器将永远无法访问该PHP文件。 (已测试)
有什么办法可以使用变量在B/somescript.php
内设置标题吗?
我尝试过:.htaccess
,但出现500-内部服务器错误。
答案 0 :(得分:0)
事实证明,浏览器实际上是在跟随重定向,到达B/somescript.php
,但是我发送的Access-Control-Allow-Origin标头不包含协议(https://)。
因此,Access-Control-Allow-Origin
响应标头必须与浏览器发送的请求Origin
标头完全匹配:
https://www.domain.tld 而不是 www.domain.tld