Php CORS在同一个域上

Php CORS在同一个域上,php,angular,cors,slim,preflight,Php,Angular,Cors,Slim,Preflight,在从我的角度前端调用后端API时,我一直遇到以下错误 前端和后端都运行在同一域下的同一台服务器上 前端可以从调用,API位于 对于API,PHP框架V4与CORS逻辑一起使用 $app->options('/{routes:.*}', function ($request, $response) { // CORS Pre-Flight OPTIONS Request Handler return $response; }); $app-

在从我的角度前端调用后端API时,我一直遇到以下错误

前端和后端都运行在同一域下的同一台服务器上

前端可以从调用,API位于

对于API,PHP框架V4与CORS逻辑一起使用

$app->options('/{routes:.*}', function ($request, $response) {
        // CORS Pre-Flight OPTIONS Request Handler
        return $response;
    });

    $app->add(function ($request, $handler) {
        $response = $handler->handle($request);
        return $response
                ->withHeader('Access-Control-Allow-Origin', '*')
                ->withHeader('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Accept, Origin, Authorization, FF-API-KEY')
                ->withHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, PATCH, OPTIONS');
    });

    $app->group('/v1', function(Group $group) use ($container) {
        // Public routes
        $publicRoutes = require 'publicRoutes.php';
        $publicRoutes($group, $container);
    });

如何解决此问题?

当我测试您的签入页面时,它可以正常工作。api/v1/checkin上没有CORS错误,只有400
Das属性“email”mus ein g\u00fcltiges格式的haben。
。您只有在拥有另一个域时才需要CORS。问题是子域与。现在,我必须将所有内容重定向到。我可以用.htaccess实现重定向吗?您可以检查URL的第一部分是否在允许的来源中,并允许从此域访问所有URL(和端口)。可以在小型定制中间件中实现这一点。foreach($allowedOrigins作为$allowedOrigin){if(str_以($allowedOrigin,$urlRequestWasSentFrom)开头){在这里做一些事情,比如用状态200回复}