如何解决Laravel 路由不断重定向到 /home 路由
问题陈述:
尝试加载以下页面时:
http://127.0.0.1:8000/admin/login
它立即将我引回到 http://127.0.0.1:8000/home
。
虽然 /home
返回 Laravel 404 页。
例外:
Laravel 404 页面
配置:
$ php artisan route:list
+--------+----------+-----------------------------------------------+------------------------------------+-------------------------------------------------------------------------------+-------------------------------------------------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+-----------------------------------------------+------------------------------------+-------------------------------------------------------------------------------+-------------------------------------------------------+
| | GET|HEAD | admin/login | admin.login | App\Http\Controllers\Admin\LoginController@showLoginForm | web |
app/Http/Controllers/Admin/LoginController.php
public function showLoginForm()
{
return view('admin.login');
}
app/Http/Kernel.php
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,'can' => \Illuminate\Auth\Middleware\Authorize::class,'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,'admin' => \App\Http\Middleware\RedirectIfNotAdmin::class,'admin.guest' => \App\Http\Middleware\RedirectIfAdmin::class,];
app/Http/Middleware/RedirectIfAdmin.php
public function handle($request,Closure $next,$guard = 'admin')
{
if (Auth::guard($guard)->check()) {
return redirect('admin/home');
}
return $next($request);
}
app/Http/Middleware/RedirectIfAuthenticated.php
public function handle($request,$guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/home');
}
return $next($request);
}
app/Http/Middleware/RedirectIfNotAdmin.php
public function handle($request,$guard = 'admin')
{
if (!Auth::guard($guard)->check()) {
return redirect('admin/login');
}
return $next($request);
}
尝试过:
我尝试通过清除缓存
$ php artisan config:cache
$ php artisan config:clear
$ php artisan view:cache
$ php artisan route:cache
$ php artisan route:clear
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。