Php 当我以来宾身份重定向时,[Route:login][URI:{locale}/login]缺少必需的参数
每当我以来宾身份重定向时,我都会收到一个错误: 缺少[Route:login][URI:{locale}/login]所需的参数 但当我登录时,它工作正常。这是我的web.php和HomeController web.php HomeController.php 问题出在您的App\Http\Middleware\Authenticate Middleware中 您的登录路径需要一个locale参数,但是当您作为来宾访问需要身份验证的页面时,将调用身份验证中间件 默认情况下,身份验证中间件包含: 受保护的函数重定向到$request { 如果!$request->expectsJson{ 返回路线“登录”; } } 您需要将所需参数传递给路由: 返回路由'login',['locale'=>$desiredLocale] 问题出在您的App\Http\Middleware\Authenticate Middleware中 您的登录路径需要一个locale参数,但是当您作为来宾访问需要身份验证的页面时,将调用身份验证中间件 默认情况下,身份验证中间件包含: 受保护的函数重定向到$request { 如果!$request->expectsJson{ 返回路线“登录”; } } 您需要将所需参数传递给路由: 返回路由'login',['locale'=>$desiredLocale] 你可以试试这个: 因为这种方式可以帮助您选择具有该名称的特定路由,并且对于重定向到特定路由更可靠Php 当我以来宾身份重定向时,[Route:login][URI:{locale}/login]缺少必需的参数,php,laravel,Php,Laravel,每当我以来宾身份重定向时,我都会收到一个错误: 缺少[Route:login][URI:{locale}/login]所需的参数 但当我登录时,它工作正常。这是我的web.php和HomeController web.php HomeController.php 问题出在您的App\Http\Middleware\Authenticate Middleware中 您的登录路径需要一个locale参数,但是当您作为来宾访问需要身份验证的页面时,将调用身份验证中间件 默认情况下,身份验证中间件包含:
public function index()
{
if(Auth::guest()){
return redirect()->route('home');
}else{
return view('admin.home');
}
}
你可以试试这个:
因为这种方式可以帮助您选择具有该名称的特定路由,并且对于重定向到特定路由更可靠
public function index()
{
if(Auth::guest()){
return redirect()->route('home');
}else{
return view('admin.home');
}
}
此问题的解决方案[Route:login][URI:{locale}/login] 转到middleware文件夹,打开经过身份验证的文件并替换此功能,如果您遇到此问题,它将100%工作
protected function redirectTo($request)
{
if (! $request->expectsJson()) {
return route('login', ['locale' => app()->getLocale()]);
}
}
此问题的解决方案[Route:login][URI:{locale}/login] 转到middleware文件夹,打开经过身份验证的文件并替换此功能,如果您遇到此问题,它将100%工作
protected function redirectTo($request)
{
if (! $request->expectsJson()) {
return route('login', ['locale' => app()->getLocale()]);
}
}
您可能需要更改AuthenticationException的重定向URL,请参见此处的问题:您可能需要更改AuthenticationException的重定向URL,请参见此处的问题: