.htaccess - MAMP localhost 无法启用 CORS

标签 .htaccess cors mamp-pro

我在本地机器上用 PHP 构建了一个 RESTful Api,一切都运行良好。预检请求正在发送正确的响应等,PHP 处理的一切都像梦一样工作。

但是,如果我尝试访问公共(public)文件夹中的图像(在这种情况下通过 javascript 以编程方式),我会感到愤怒:

Access to XMLHttpRequest at 'http://localhost/tmp/avatars/user.jpg' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

我在 .htaccess 中设置了以下内容公共(public)根目录和 MAMP Apache <Directory> 中的文件和 <VirtualHost>指令,但它只是拒绝工作。
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "*"

在最好的情况下,CORS 是一件令人头疼的事情,但这太荒谬了。为什么这不起作用?

有任何想法吗?

最佳答案

更改httpd.conf从 MAMP 中的 apache 文件夹中创建文件并在 Directory 上添加以下代码标签(第 204-208 行)。

<Directory />
    Options Indexes FollowSymLinks
    AllowOverride All
    Header set Access-Control-Allow-Origin "*"  
</Directory>

你可以用 nano 打开并修改它。
#nano /Applications/MAMP/conf/apache/httpd.conf

然后重新启动您的 MAMP 服务器,应该可以正常工作。

我解决了同样的问题。

您也可以使用名为“允许 CORS:Access-Control-Allow-Origin”的 Google Chrome 扩展程序来解决它。

但请注意,这仅适用于您的 Chrome 浏览器。最有效的解决方案是第一种,修改服务器上的配置文件。

祝你好运

关于.htaccess - MAMP localhost 无法启用 CORS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53038609/

相关文章:

php - 通过 .htaccess 将额外的 get 变量附加到 URL

javascript - Canvas 被 CORS 图像污染

php - 从MAMP切换到MAMP Pro,无法启动mysql

apache - 此处不允许使用 AuthType

php - 使用 .htaccess 重写一个简单的 url

javascript - jquery 的 CORS 错误

c# - 如何设置 ASP.NET CORS 选项以允许 application/json

php - 安装 MySQL 时区支持 (MAMP PRO 3.0.7.3)

mysql - MAMP/MAMP Pro 数据库冲突

apache - 使用 htaccess 在 header 中设置文件名