Laravel 4 - 路由未定义,重定向

Tob*_*eek 12 php routing laravel laravel-4

我正在尝试在登录后设置一个简单的重定向.登录部分有效但重定向失败,因为它表示路由不存在.

这是我的路线文件:

Route::any('/', array('uses' => 'UsersController@login'));

Route::any('/manage', array('uses' => 'AdminController@showWelcome'));
Run Code Online (Sandbox Code Playgroud)

如果我去http://example.com/manage,路线工作正常.. laravel的标志就在那里,我的另一页也很好.

但当我这样做时:

Redirect::route('/manage');
Run Code Online (Sandbox Code Playgroud)

页面死了说:

Route [/manage] not defined
Run Code Online (Sandbox Code Playgroud)

有人有想法吗?

The*_*pha 16

在使用Redirect::route方法时应该使用路径名称,在这种情况下,您必须使用名称声明路径,即

Route::any('/manage', array('as' => 'manage', 'uses' => 'AdminController@showWelcome'));
Run Code Online (Sandbox Code Playgroud)

这里,as值是的名称route,所以,现在你可以使用

return Redirect::route('manage'); // 'manage' is the name of the route to redirect
Run Code Online (Sandbox Code Playgroud)

或者,您也可以使用Redirect::to('url')方法,即

return Redirect::to('/manage'); // '/manage' is the url to redirect
Run Code Online (Sandbox Code Playgroud)

选中" 重定向到指定的路由命名路由".