Laravel中POST请求返回405 Method Not Allowed的原因排查
问题原因分析与解决办法
核心原因:请求路径错误引发重定向,导致请求方法被篡改
从你的Postman请求日志能明确看到:
你实际发送的是 POST /(网站根路径),服务器返回301重定向到目标路由https://website.nl/endpoint/Bu。但绝大多数HTTP客户端(包括Postman默认逻辑)会把301重定向后的POST请求自动转为GET请求,而你定义的路由仅接受POST方法,因此服务器返回405 Method Not Allowed。
附带问题:CSRF例外配置格式错误
你在VerifyCsrfToken的$except数组中填写了完整URL,但Laravel要求这里必须用相对路径,完整URL会导致CSRF例外规则不生效,后续可能触发不必要的CSRF验证错误。
解决步骤
修正Postman请求地址
直接将请求URL设置为https://website.nl/endpoint/Bu,不要请求根路径/。调整CSRF例外配置
修改VerifyCsrfToken中的$except数组:protected $except = [ 'endpoint/Bu' ];确保路由缓存已清除
执行命令刷新路由缓存:php artisan route:clear
内容的提问来源于stack exchange,提问作者user9897505
相关产品推荐
相关产品推荐

