LoginSignup
0
0

More than 3 years have passed since last update.

Laravelでなぜか二回アクセスしてしまう問題

Posted at

Laravel 5.8

Flash Sessionに値を持たせてリダイレクトしようとしたが、なぜかFlash Sesionが消えてしまっていた。デバッグすると二回アクセスしている模様(リダイレクトだけでなく、他のページも二回アクセスしていることが判明)

自身でカスタマイズしたMiddlewareが悪さをしていた。

middleware.php
$next($request);

を実施している箇所が一つのミドルウェアで複数ある場合に発生する。
例えば、フレームワークのミドルウェアのhandleメソッドをオーバーライドして親クラスに渡す場合と独自で処理をするなどの分岐をする際は、下記のようにして二回リクエストを飛ばさないようにしてあげましょう。
私の場合はparent::handleにreturnをつけ忘れていた。

middleware.php
     public function handle($request, Closure $next)
      {
          if (/*何かしらの分岐*/) {  
              return parent::handle($request, $next);
          }  
          return $next($request);
      }

参考
https://stackoverflow.com/questions/59377912/laravel-why-every-route-is-executed-twice

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0