トップページ
Laravel学習サイトLaravelやるばい

目次

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('/');
}
戻る