如何使用laravel重定向路线?

时间:2014-08-18 13:10:56

标签: laravel

我使用group来帮助可视化我的项目的routes.php,现在问题是

例如,当用户访问“/ dir”时,我想将其重定向到“/ dir / ele”

Route::group(['prefix' => 'dir'], function () {
    Route::group(['prefix' => 'ele'], function () {
        Route::controller('/', 'dir\eleController');
    });
    Redirect::route('ele');
}

为什么这不起作用?

1 个答案:

答案 0 :(得分:1)

路由dir/ele将转到控制器,但您在routes.php中而不是在控制器中进行重定向。

您应该使用闭包路线并在routes.php中执行所有操作或使用控制器并将重定向移动到控制器:

routes.php中的关闭路线:

Route::group(['prefix' => 'dir'], function () {
    Route::group(['prefix' => 'ele'], function () {
        Route::get('/', function() {
            return Redirect::to('ele');
        });
    });
});

可以简化为:

Route::group(['prefix' => 'dir'], function () {
    Route::get('ele', function(){
        return Redirect::to('ele');
    });
});

或使用控制器方式:

routes.php文件

Route::group(['prefix' => 'dir'], function () {
    Route::group(['prefix' => 'ele'], function () {
        Route::controller('/', 'eleController@redirect');
    });
}

eleController.php

class eleController extends BaseController {
    function redirect() {
        return Redirect::to('ele');
    }
}