Laravel重定向到路线

时间:2015-10-14 04:05:49

标签: php laravel laravel-5 laravel-5.1

我使用Laravel 5.1并想知道是否有更好的方法来进行路由重定向。

Route::get('user/login', 'UserController@login');
Route::get('login', function() {
    return redirect()->to('user/login');
});

基本上,只要用户转到http://example.com/login,他们就会重定向到http://example.com/user/login

有没有更好的方式或其他方法来做到这一点,还是我已经正确地做到了?谢谢!

2 个答案:

答案 0 :(得分:4)

这就像它得到的一样简单

你也可以redirect('user/login')保存几个字符

如果你有多个像这样的重定向,你可以一次处理它们

Route::pattern('user_path', '(login|logout)');

Route::get('{user_path}', function($user_path) {
    return redirect('user/' . $user_path);
});

答案 1 :(得分:1)

Route::get('new/create_view','CreateController@create_view');
Route::post('new/create_view','CreateController@insert_view');

Route::get('new/create_table','CreateController@create_table');
Route::post('new/create_table','CreateController@insert_table');


Route::get('new/create_package','CreateController@create_package');
Route::post('new/create_package','CreateController@insert_package');

这是我使用路线的方式。简单的方法。当GET的时间,我调用一个控制器函数并且在那个特定的控制器函数里面,我写了逻辑代码。在POST中也做同样的事情。

另一种方式是GROUP Routing

Route::group(['namespace' => 'Admin'], function()
{
// Controllers Within The "App\Http\Controllers\Admin" Namespace

Route::group(['namespace' => 'User'], function()
{
    // Controllers Within The "App\Http\Controllers\Admin\User" Namespace
});
});

例如:

Route::group(array('prefix' => 'api/v1', 'before' => 'auth.basic'),         function()
{
Route::resource('pages', 'PagesController', array('only' => array('index',  'store', 'show', 'update', 'destroy')));
Route::resource('users', 'UsersController');
});