gpt4 book ai didi

php - Laravel 5.1 路由未定义重定向

转载 作者:行者123 更新时间:2023-12-03 13:41:47 25 4
gpt4 key购买 nike

需要询问错误,当我尝试重定向我的注销时

这是用户 Controller :

public function logout()
{

Auth::logout();
return redirect()->route('auth/login');
}

这是我的路线:
Route::get('/', function () {
return view('welcome');
});
// Authentication routes...
Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');

// Registration routes...
Route::get('auth/register', 'Auth\AuthController@getRegister');
Route::post('auth/register', 'Auth\AuthController@postRegister');

Route::get('testing', 'UserController@test');
Route::get('logout', 'UserController@logout');

我认为,路线上一切正常,我正确定义了登录(如 Laravel 文档)

但它仍然会出现这个错误:
InvalidArgumentException in UrlGenerator.php line 306:
Route [auth/login] not defined.

请问有什么问题吗?我做错了什么吗?

非常感谢,祝您有美好的一天!

最佳答案

route方法需要一个名称,而不是一个 URI。所以你需要命名你的路线。

像这样:

Route::get('auth/login', ['as' => 'login', 'uses' => 'Auth\AuthController@getLogin']);

或者:
Route::get('auth/login', 'Auth\AuthController@getLogin')->name('login');

现在您可以调用 return redirect()->route('login');
请参阅 Named Routes 的文档.

或者,您可以只在 redirect 中提供 URI像这样的方法:
return redirect('auth/login');

尽管如果您更改此端点,这会中断。我建议命名您的路线并在您的代码中使用这些路线。

关于php - Laravel 5.1 路由未定义重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41402530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com