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

Laravel根路径POST路由失效返回301重定向问题咨询

根本原因

该301重定向和Laravel路由规则本身无关,是Web服务器(Apache/Nginx等)默认的路径末尾斜杠规范化机制导致的:

  • 你发起POST请求的目标地址是http://localhost/ssl_validador/public,路径末尾没有斜杠。Web服务器默认判定访问目录类路径时末尾必须带斜杠,会自动给这类请求返回301永久重定向,跳转到补全斜杠的地址http://localhost/ssl_validador/public/。
  • 绝大多数Web服务器执行这类默认规范化重定向时,不会保留原请求的POST方法,会直接将请求转换为GET方法发起跳转。原本的POST请求被转成GET请求访问带斜杠的根路径,正好匹配你定义的Route::get('/', [ValidatorController::class, 'index'])规则,最终回到index控制器。

第二种路由配置能正常运行的原因:

  • 该配置下POST请求的目标地址是/proc,属于明确的单段路由路径,不是目录路径,不会触发Web服务器的末尾斜杠补全重定向,POST请求会原样到达Laravel路由层,能正常匹配Route::post('proc', ...)规则。
  • 配置里的Route::redirect('/', 'proc')是Laravel框架层面的路由跳转,属于主动配置的逻辑,不会触发Web服务器层面的请求方法丢失问题。
修复方案
  • 最推荐的做法:提交表单时,将根路径的提交地址补全末尾斜杠,或者直接使用Laravel自带的route()辅助函数生成路由地址,框架会自动处理路径格式,避免触发Web服务器的默认重定向。
  • 如果使用Apache服务,也可以修改public目录下的.htaccess规则,关闭目录斜杠自动补全,或调整重定向逻辑保留原请求方法,但这种方式不符合Web服务的默认路径规范,会产生额外的性能开销,不推荐使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 21:45:42