Метод fallback
Метод fallback применяется к объекту маршрутизатора
Route и регистрирует маршрут, который будет
выполняться для всех входящих HTTP-запросов, которые
не совпали с другими определёнными маршрутами.
Обычно он используется для отображения кастомной страницы
ошибки 404 или для логирования неверных запросов.
Определяется в файле маршрутов, обычно в
routes/web.php для веб-интерфейса или
routes/api.php для API.
Синтаксис
<?php
Route::fallback($callback);
?>
Пример
Давайте определим простой fallback-маршрут, который будет возвращать текстовое сообщение для любого неизвестного URL:
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return 'Главная страница';
});
Route::fallback(function () {
return 'Страница не найдена';
});
?>
Результат выполнения кода при переходе по несуществующему адресу:
"Страница не найдена"
Пример
Вместо возврата текста можно вернуть представление с кастомной страницей ошибки 404 и установить соответствующий HTTP-статус:
<?php
use Illuminate\Support\Facades\Route;
Route::fallback(function () {
return response()->view('errors.404', [], 404);
});
?>
Пример
Fallback-маршрут может принимать объект запроса
Request, что позволяет, например, логировать
все несуществующие пути:
<?php
use Illuminate\Support\Facades\Route;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
Route::fallback(function (Request $request) {
Log::warning('Неизвестный URL', [
'url' => $request->fullUrl(),
'method' => $request->method(),
'ip' => $request->ip()
]);
return response()->view('errors.404', [], 404);
});
?>
Результат записи в лог-файл при обращении к несуществующему URL:
"[2026-09-07 10:15:32] local.WARNING: Неизвестный URL
{"url":"http://example.com/unknown","method":"GET","ip":"127.0.0.1"}"