実現したいこと
ログイン後、
RouteServiceProvider の public const HOME = 'ここ';
に記入したパスにリダイレクトさせたい。
発生している問題・分からないこと
ログインすると、ブラウザのアドレスバーに
http://localhost/RouteServiceProvider::HOME
と表示され、画面には、
404 NOT FOUND
と表示される。
ただし、アドレスバーの ’RouteServiceProvider::HOME’ の部分を 'my_page' に書き換えると、コントローラで指定したビューが正常に表示される。
該当のソースコード
RedirectIfAuthenticated
1<?php 2 3namespace App\Http\Middleware; 4 5use App\Providers\RouteServiceProvider; 6use Closure; 7use Illuminate\Http\Request; 8use Illuminate\Support\Facades\Auth; 9 10class RedirectIfAuthenticated 11{ 12 public function handle(Request $request, Closure $next, ...$guards) 13 { 14 $guards = empty($guards) ? [null] : $guards; 15 16 foreach ($guards as $guard) { 17 if (Auth::guard($guard)->check()) { 18 return redirect(RouteServiceProvider::HOME); 19 } 20 } 21 22 return $next($request); 23 } 24}
RouteServiceProvider
1<?php 2 3namespace App\Providers; 4 5use Illuminate\Cache\RateLimiting\Limit; 6use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; 7use Illuminate\Http\Request; 8use Illuminate\Support\Facades\RateLimiter; 9use Illuminate\Support\Facades\Route; 10 11class RouteServiceProvider extends ServiceProvider 12{ 13 public const HOME = '/my_page'; 14 15 public function boot() 16 { 17 $this->configureRateLimiting(); 18 19 $this->routes(function () { 20 Route::prefix('api') 21 ->middleware('api') 22 ->namespace($this->namespace) 23 ->group(base_path('routes/api.php')); 24 25 Route::middleware('web') 26 ->namespace($this->namespace) 27 ->group(base_path('routes/web.php')); 28 }); 29 } 30 protected function configureRateLimiting() 31 { 32 RateLimiter::for('api', function (Request $request) { 33 return Limit::perMinute(60)->by(optional($request->user())->id ?: $request->ip()); 34 }); 35 } 36}
web.php
1<?php 2use Illuminate\Support\Facades\Route; 3use App\Http\Controllers\AuthController; 4 5Route::middleware('auth')->group(function () { 6 Route::get('/my_page', [AuthController::class, 'my_page']); 7});
試したこと・調べたこと
上記の詳細・結果
GOOGLEで「fortify ログイン後のリダイレクト できない」や「http://localhost/RouteServiceProvider::HOME NOT FOUND」などで検索した。
しかし、有効な解決策は得られず。
補足
特になし
0 コメント