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

Laravel控制器方法内redirect重定向不生效该如何解决

问题修复方案
  • 变量名不匹配:调用preg_match时匹配结果存到了$myMatches变量,但后续获取分组用的是$matches,变量名不一致导致无法拿到正确的路径参数,重定向目标无效。
  • 未返回重定向响应:控制器必须将redirect()方法的返回值作为方法的返回值返回,仅调用redirect()不返回的话,框架不会触发重定向操作,会继续执行后续逻辑。

修正后代码

protected function myMethod($mySlug)
{
    if (preg_match('/myprefix\/(\w+)/', $mySlug, $myMatches)) {
        // 统一变量名,同时返回重定向响应
        return redirect(myUrlHelper($myMatches[1]), 301);
    }

    // 匹配失败时返回对应响应,不要直接返回false,可根据业务调整
    abort(404);
}

如果修改后仍不生效,可以检查路由是否正确绑定了该方法,是否有全局中间件拦截了重定向响应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 14:39:04