2015-10-14 172 views
2

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

Route::get('user/login', '[email protected]'); 
Route::get('login', function() { 
    return redirect()->to('user/login'); 
}); 

因此,基本上,只要用户去http://example.com/login,他们将被重定向到http://example.com/user/login

有没有更好的方法或其他方法来做到这一点,或者我已经做得正确了吗?谢谢!

+0

为什么不这样做在.htaccess? – Jeemusu

回答

4

这是一样简单,因为它得到

你也可以做redirect('user/login')来保存一些字符

如果你有过这样多重定向,你可以一次

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

Route::get('{user_path}', function($user_path) { 
    return redirect('user/' . $user_path); 
}); 
1
Route::get('new/create_view','[email protected]_view'); 
Route::post('new/create_view','[email protected]_view'); 

Route::get('new/create_table','[email protected]_table'); 
Route::post('new/create_table','[email protected]_table'); 


Route::get('new/create_package','[email protected]_package'); 
Route::post('new/create_package','[email protected]_package'); 
处理他们所有

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

另一种方法是存在的,组路由

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'); 
});