首先我要说我在与HostGator共享的Linux服务器上运行。
我的问题是我的.htaccess中有这行代码:
Header set Access-Control-Allow-Origin *
允许跨域xhr请求。它一直在工作,直到我的托管服务提供商告诉我添加这个来获取php 5.3(我的程序需要):
# Use PHP 5.3
Action application/x-hg-php53 /cgi-sys/php53
AddHandler application/x-hg-php53 .php
现在我再也无法进行跨域xhr请求了。有谁知道为什么这不再有效? (我确实得到了PHP 5.3)
** 更新 **
嗯,看起来这不是我的错,也是我无法解决的问题。以下是HostGator技术支持的官方回复:
我检查了您的网站,错误日志和.htaccess指令, 不幸的是,我得出的结论是“标题集 Access-Control-Allow-Origin *“行与我们的版本不兼容 在我们的共享服务器中找到的PHP 5.3的实现。我真诚的 为此造成的不便表示道歉,但我们的方式 实现并调用PHP 5.3(因为5.2是默认值而不能 感谢cPanel改变了显然覆盖了Header处理 机制,使其无法正常工作。
答案 0 :(得分:2)
它应该一起工作,但是,如果你想提供一个明确设置了那个头的端点,你也可以用PHP来做:
header('Access-Control-Allow-Origin: *');
在任何输出开始之前将它放入PHP代码中。请参阅header
。