5

所以我试图让siteA 对siteB 上的一些内容进行jquery .load。在这样做时,我得到了 Access-Control-Allow-Origin 错误。所以在siteB 上,我放置了一个.htaccess 文件,它应该允许siteA 能够从中获取内容。我遇到了一些麻烦。我知道 .htaccess 文件正在被访问,因为当页面尝试加载并且我在 .htaccess 文件中有内容时,它会出现 500 内部错误。

在我尝试过的 .htaccess 文件中:Access-Control-Allow-Origin: * 和:Access-Control-Allow-Origin: "*"

但两者都给出 500 错误。我也试过:访问控制允许来源:*

这不会给出 500 错误,因此它必须返回为假。我现在不确定该怎么做。可能我可能将 .htaccess 文件格式化错误或其他原因,但我认为这可能与未启用 mod_headers 有关。

在日志中:无效命令“Access-Control-Allow-Origin:”,可能拼写错误或由服务器配置中未包含的模块定义

这两个站点都通过 10.8 Server.app 运行,因此它与正常的 Apache 安装有点不同,这使得它有点困难。任何帮助将不胜感激!提前致谢!

4

2 回答 2

9

当我使用时,我遇到了同样的问题,错误 500:

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

这是由于缺少模块 mod_headers ,我只需要在我的服务器上运行:

sudo a2enmod headers

如发现here

但我认为您可能需要在 OSX 上手动编辑 .conf 并取消注释该行:

#LoadModule headers_module modules/mod_headers.so
于 2015-07-29T02:03:39.330 回答
1

就我而言,我从某个地方复制了代码,其中有一些空格,这就是内部服务器错误的原因。

我正在使用

header("Access-Control-Allow-Origin : *");

我们应该写

header("Access-Control-Allow-Origin:*");

我刚刚删除了 Origin、: 和 * 之间的空格

尝试编写代码而不是复制,这可能会有所帮助。

于 2018-09-17T08:10:13.327 回答