Обробка 404 у Laravel

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 13 лютого, 2025
Досліджуйте, як можливість Route::fallback у Laravel може перетворити типові 404-помилки на корисні та інтерактивні моменти для ваших користувачів. Чи готові ви дізнатися, як покращити структуру вашого сайту та заодно зібрати цінну аналітику?

Метод Route::fallback у Laravel дозволяє елегантно обробляти запити, які не відповідають жодному з визначених маршрутів. Замість того, щоб показувати загальну сторінку 404, ви можете створити значущий досвід для користувачів, які натрапили на відсутні сторінки.

Ця функція особливо корисна для підтримання залучення користувачів, коли сторінки переміщуються або перейменовуються, а також під час обробки старих URL-адрес з попередньої системи. Вона також дозволяє збирати дані про відсутні сторінки, щоб вдосконалити структуру та контент вашого сайту.

Route::fallback(function () {
    return view('errors.404')
        ->with('message', 'Сторінку не знайдено');
});

Ви також можете використовувати об'єкт Request для отримання додаткового контексту:

use Illuminate\Http\Request;

Route::fallback(function (Request $request) {
    // Отримання поточної URL
    $path = $request->path();

    // Перевірка, чи це API запит
    if ($request->expectsJson()) {
        return response()->json(['error' => 'Не знайдено'], 404);
    }

    return view('errors.404', compact('path'));
});

Обробник маршруту fallback перетворює потенційно розчаровуючі 404 помилки на можливості для залучення користувачів та отримання цінних аналітичних даних