我在我的中使用 307 重定向mod_rewrite
规则.htaccess
将所有/api/...
请求重定向到apiHandler.php
,但我在使用 CORS 时遇到了问题。
我的.htaccess
RewriteEngine On
RewriteRule ^api/(.*)$ /apiHandler.php [NC,R=307]
我的apiHandler.php
<?php
header("Access-Control-Allow-Origin: http://localhost:4200");
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Headers: Content-Type");
header("Content-Type: application/json");
...
?>
每当我在前端发出 api 请求时,都会收到 CORS 错误,
"...has been blocked by CORS policy: No 'Access-Control-Allow-Origin` header is present on the request resource."
但是我在我的 中特别有那个标题apiHandler.php
,所以我不知道问题是什么。
在做了一些研究之后,我听说重定向 URL 还必须包含一个Access-Control-Allow-Origin
标头,否则浏览器将在尝试跨域请求时停在那里。但是我已经尝试过将这些标题添加到我.htaccess
的列表中,但没有成功。
有任何想法吗?