【Laravel】 更新したらすべてのページが404 Not Found になってしまった

「Amazon Product Advertising API」への対応を行っている最中に、設定ファイルの変更とライブラリのアップデートを行ったところ、すべてのページが404 Not Foundになってしまいました。最初はルートページだけはきちんと表示されていたのですが、いろいろいじっている内にそれも404に。


「laravel not found」で検索するとApacheの設定に関する情報がたくさん出てくるんですが、既にきちんと動いていたLaravelでの話なのでそれは関係がなさそう。詳しく調べると、routes/web.php には到達しているみたいなんだけど、そこから先が上手く動いていない。Viewに採用しているVueの問題かなと思ったけれど、表示されているNot FoundページがVueのものではなくLaravelのデフォルトのもののようなのでそれも違う。はてなんなんだ……

行った変更

  • composer.json の書き換え
  • composer update によるライブラリの更新
  • .env ファイルの書き換え



結論:キャッシュクリアで直りました

.env ファイル更新後にも一応キャッシュクリアはしていたんですが、

$ php artisan config:clear

これでは足りなかったみたいです。
以下のコマンドを実行したら直りました。

$ php artisan optimize:clear

これは以下のコマンドを実施することと同様です。

$ php artisan view:clear
$ php artisan cache:clear
$ php artisan route:clear
$ php artisan config:clear
$ php artisan clear-compiled

文字通り、routeのキャッシュクリアをすれば良かったんでしょうね。ブログで使っているグラフやら、Tumblrの表示やら様々な小物がまるっと表示出来なくなったのでちょっと焦りました。直って良かった。設定ファイルをいじったらちゃんとキャッシュ更新。忘れない。



参考