Laravel7 跨域配置路由是子域名如何设置?

默认的 config/cors.php 是这样的

<?php
...
'paths' => ['api/*'],
...

如果路由是在子域名下呢? 例如 api.domain.test/users, 这样的 paths 该如何设置呢?

:computer: & :coffee:
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2

遇到了相同的问题,你解决了吗?

3年前 评论

@mostwin

path 可以像设置成这样 http://api.domain.test/*

看下源码过滤路径这个地方

vendor\fruitcake\laravel-cors\src\HandleCors.php

   protected function isMatchingPath(Request $request): bool
    {
        // 我们设置的 paths 是 ['http://api.domain.test/*']
        $paths = $this->container['config']->get('cors.paths', []);
        foreach ($paths as $path) {
            if ($path !== '/') {
                $path = trim($path, '/');
            }
            if ($request->fullUrlIs($path) || $request->is($path)) {
                return true;
            }
        }
        return false;
    }

假设接口地址是 http://api.domain.test/users$request->fullUrlIs($path) 返回的是 true

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!