You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 9内置CORS配置:为指定API路由设置跨域访问规则

Laravel 9+ 指定路由CORS跨域配置方法

Laravel 9 及以上版本已将原fruitcake/laravel-cors扩展集成至框架内核,无需手动安装第三方包即可完成跨域规则配置,针对api/list、api/profiles这类指定路由的配置步骤如下:

  • 第一步:发布CORS配置文件
    项目根目录下执行Artisan命令,生成框架默认的CORS配置文件:
    php artisan vendor:publish --tag=cors
    
    执行完成后,config目录下会生成cors.php配置文件。
  • 第二步:配置需要应用跨域规则的路由路径
    打开config/cors.php,找到paths配置项,将需要配置跨域的路由地址填入数组即可:
    'paths' => [
        'api/list',
        'api/profiles',
        // 如需匹配某类前缀的所有路由,可使用通配符,例:'api/admin/*' 匹配所有admin前缀的API路由
    ],
    
  • 第三步:按需调整其他跨域参数
    同文件内可根据业务需求调整其余跨域规则:
    • allowed_origins:配置允许发起跨域请求的源地址,本地开发可临时设为['*']允许所有源,生产环境必须配置为实际的前端业务域名,例:['https://www.your-site.com']。注意:若开启supports_credentials为true,该项不能设为通配符,必须填写具体源地址
    • allowed_methods:配置允许的跨域请求方法,例:['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS']
    • allowed_headers:配置允许的跨域请求头,一般场景可设为['*']
    • supports_credentials:是否允许跨域请求携带cookie、authorization等凭证,设为true时前端请求也需要同步开启withCredentials配置
    • max_age:配置跨域预检请求的缓存时间,单位为秒
  • 第四步:确认中间件开启
    打开app/Http/Kernel.php,确认全局中间件组中已包含CORS处理中间件,Laravel 9+版本默认已自动添加该配置,若被手动移除请补全:
    protected $middleware = [
        // ...其他全局中间件
        \Illuminate\Http\Middleware\HandleCors::class,
    ];
    

注意:如果生产环境开启了配置缓存,修改完配置后需要执行php artisan config:clear清除缓存,新的跨域规则才会生效。

内容的提问来源于stack exchange,提问作者terafia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 05:03:21