Php 如果Lumen中的URL中没有参数,则重定向

Php 如果Lumen中的URL中没有参数,则重定向,php,laravel,lumen,Php,Laravel,Lumen,我使用流明框架有一段时间了,我发现自己面临着一个反复出现的问题 在我的示例中,页面/index/validation/需要一个参数,这里用{key}表示。但是,如果不使用参数调用/index/validation/,我不知道如何避免页面未找到异常 因此,我创建了一个重定向到主页的函数 routes.php $app->get('/index/validation', 'App\Http\Controllers\IndexController@redirectIndex'); $app-&g

我使用流明框架有一段时间了,我发现自己面临着一个反复出现的问题

在我的示例中,页面
/index/validation/
需要一个参数,这里用
{key}
表示。但是,如果不使用参数调用
/index/validation/
,我不知道如何避免页面未找到异常

因此,我创建了一个重定向到主页的函数

routes.php

$app->get('/index/validation', 'App\Http\Controllers\IndexController@redirectIndex');
$app->get('/index/validation/{key}', 'App\Http\Controllers\IndexController@validation');
IndexController

public function redirectIndex() {
    return redirect('index');
}

我在这里做的很好,但是,我不确定是否应用了正确的方法,或者是否有其他方法来实现我的目标?

所有未捕获的异常都在
App\exceptions\Handler
中处理。要重定向所有未找到的异常,请将
render()
方法更改为:

public function render($request, Exception $e)
{
    if($e instanceof NotFoundHttpException){
        return redirect('index');
    }
    return parent::render($request, $e);
}
您还必须导入具有以下内容的类:

use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;

如果你没有看到一个未找到的页面,你会看到什么?如果我没有添加路由“重定向索引”,我会看到一个未找到的页面。你想在所有页面上重定向未发现的错误还是仅此一个?我还没有找到如何重定向所有错误,但这应该对所有人都更好。我不明白如何将未找到的页面重定向到视图…谢谢您的回答。如果我假设我有几个单独的文件夹,每个人都拥有自己的索引,那么如何继续呢?也许像
redirect($request->segment(1))
这样的东西对你有用