前のページ

Laravelで存在しないURLにアクセスした時にリダイレクトする方法

みなさんこんにちは、あべ いさぢです。


Laravelで存在しないURLにアクセスしたら↓の様に404になります。


20260412_104808_laravel-redirect1.png


こうなるよりも存在しているURLにリダイレクトした方が自然です。


今回はそのやり方を説明します。


Laravelのバージョン

8系と10系で確認できました。


web.phpからやる方法

存在しないURLにアクセスしたときにリダイレクトさせることをフォールバックルートと言います。


web.phpに下記のコードを追記します。

Route::fallback(function () {
	return redirect('/index');});

2行目の「/index」の部分にリダイレクトしたいURLを書きますが存在しているURLを書きます。

これで存在しないURLにアクセスした時に他のページにリダイレクトできます。


コントローラーからやる方法

web.phpに下記の記述をします。

Route::fallback([AdminController::class, 'notFoundUrl']);

そしてコントローラーに下記の記述をします。

public function notFoundUrl() {
    return redirect('/');}


戻る