Laravel 10+Breeze+React+Inertia切换域名后出现419错误求助
解决Laravel 10+Breeze+React修改APP_URL后出现419错误的方案
419错误本质是CSRF令牌验证失败,核心原因是会话Cookie的域名与当前访问的自定义域名不匹配,以下是具体解决步骤:
配置会话域名白名单
打开config/session.php,找到domain字段,将其设置为你的自定义域名(例如'app.test');如果需要支持子域名,可用通配符格式'.yourdomain.com'。更灵活的方式是在.env文件中添加:SESSION_DOMAIN=yourdomain.com清除配置缓存
修改配置后必须清除缓存,确保新配置生效,运行以下命令:php artisan config:clear php artisan cache:clear确认CSRF令牌传递正常
检查根模板文件(resources/views/app.blade.php)是否包含@inertia指令(Laravel Breeze安装时默认已添加),Inertia会自动处理CSRF令牌的传递,无需额外手动配置,但前提是会话Cookie能在自定义域名下正常识别。验证本地域名解析(本地测试场景)
如果是本地使用自定义域名,确保hosts文件已将域名指向127.0.0.1,例如:127.0.0.1 app.test
内容的提问来源于stack exchange,提问作者m33bo
相关产品推荐
相关产品推荐

