登录Laravel 5.4后返回404
我正在尝试在Laravel中使用404页方法,它工作正常,问题是404页总是在登录后返回,我不明白为什么 我的404页处理程序登录Laravel 5.4后返回404,laravel,handler,Laravel,Handler,我正在尝试在Laravel中使用404页方法,它工作正常,问题是404页总是在登录后返回,我不明白为什么 我的404页处理程序 public function render($request, Exception $exception) { if($this->isHttpException($exception)) { switch ($exception->getStatusCode())
public function render($request, Exception $exception)
{
if($this->isHttpException($exception))
{
switch ($exception->getStatusCode())
{
// not found
case 404:
return redirect()->route('notfound');
break;
// internal error
case '500':
return redirect()->route('notfound');
break;
default:
return $this->renderHttpException($e);
break;
}
}
else
{
return parent::render($request, $exception);
}
}
我的路线
Auth::routes();
Route::get('/', function () {
return view('welcome');
});
Route::get('pagina-nao-disponivel', ['as' => 'notfound', 'uses' => 'HomeController@notfound']);
Route::get('/home', 'HomeController@index')->name('home');
Route::get('/orders', 'OrderController@index')->name('order');
Route::post('/orders/create', 'OrderController@create')->name('order::create');
Route::get('/orders/delete/{id}', 'OrderController@destroy')->name('order::delete');
Route::get('/orders/approve/{id}', 'OrderController@confirm');
Route::post('/orders/approve/{id}', 'OrderController@aprove');
Route::get('/orders/edit/{id}', 'OrderController@edit')->name('order::edit');
Route::post('/orders/update/{id}', 'OrderController@update')->name('order::update');
/* Mail Routes */
我的登录控制器
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = 'home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
}
有什么建议吗?提前感谢。路线::获取('/home','HomeController@index')->名称('home');
您可以在此删除/
或
类LoginController扩展控制器
{
/*
|--------------------------------------------------------------------------
|登录控制器
|--------------------------------------------------------------------------
|
|此控制器处理应用程序和应用程序的身份验证用户
|将它们重定向到主屏幕。控制器使用
|为您的应用程序方便地提供其功能。
|
*/
}
在这里,您可以在home之前添加“/home”您不需要在每个路由前面加斜杠
route::get('-/--home','HomeController@index')->名称('home')代码>删除后是否尝试过?这应该有效Route::get('home','HomeController@index')->名称('home')代码>我解决了这个问题,但我仍然遇到同样的问题。它总是重定向到您的自定义404页面还是laravel的默认404页面?我的意思是,控件在这里案例404:return redirect()->route('notfound');中断代码>这是一个自定义404页面@jthedev您能否附上命令的结果php artisan route:list
public function render($request, Exception $exception)
{
if($this->isHttpException($exception))
{
switch ($exception->getStatusCode())
{
// not found
case 404:
return redirect()->route('notfound');
break;
// internal error
case '500':
return redirect()->route('notfound');
break;
default:
return $this->renderHttpException($e);
break;
}
}
else
{
return parent::render($request, $exception);
}
}