如何在中间件重置路由

比如原本访问 /test,没有达到要求就直接跳转到路由 /test2
我不想用redirect,而是直接内部跳转,不知道是否可实现

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 7
public function handle($request, Closure $next) 
{
    if (!$request->get('foo')) {
        return redirect('/test2');
    }

    return $next($request);
}
8年前 评论

@overtrue 我知道这样做,但是这样会发生地址栏改变,我是不想让地址栏网址发生改变

8年前 评论

@裸奔的代码 想多了,地址改变怎么了?当然你可以直接 return view('template of test2'); 来结束

8年前 评论

HomeControlle.php控制器中的一个方法

public function jenkins(){
        $jenkins = new JenkinsController;
        echo $jenkins->home();
    }

这是JenkinsController.php中的代码


class JenkinsController extends Controller
{
    public function home(){

        //
    }
}

这是我的一个练手实例中用到的代码,应该能满足你的需求吧。

8年前 评论

@江边望海 这种做法我也有做过,但是如果路由很多的话那有点麻烦

8年前 评论
$view = condition ? 'test' : 'test2'

return view($view)
8年前 评论

楼主的需求是不是在 /test 中处理更合适些。

8年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!