Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当我以来宾身份重定向时,[Route:login][URI:{locale}/login]缺少必需的参数_Php_Laravel - Fatal编程技术网

Php 当我以来宾身份重定向时,[Route:login][URI:{locale}/login]缺少必需的参数

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参数,但是当您作为来宾访问需要身份验证的页面时,将调用身份验证中间件 默认情况下,身份验证中间件包含:

每当我以来宾身份重定向时,我都会收到一个错误:

缺少[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] 你可以试试这个: 因为这种方式可以帮助您选择具有该名称的特定路由,并且对于重定向到特定路由更可靠

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,请参见此处的问题: