Перенаправление (редирект)

Перенаправление на указанную страницу

Перенаправить на указанную страницу можно через функцию redirect().

return redirect('news/index');

По умолчанию, перенаправление возвращает статус 302. Если перенаправление постоянное (например при смене URL страницы), то рекомендуется устанавливать статус 301.

return redirect('news/index', 301);

Постоянные перенаправления рекомендуется указывать в настройках веб-сервера, т.к. перенаправление будет происходить сразу, без загрузки текущей страницы.

Перенаправление по контроллеру или имени

Данный способ позволяет открывать страницу, которая задана в routes/web.php. При смене URL страницы, автоматически сменится URL редиректа.

return redirect()->action([NewsController::class, 'index']);

// с параметрами
return redirect()->action([NewsController::class, 'show'], ['id' => 1]);

Если у страницы (рута) задано имя, то можно перенаправить страницу по имени.

return redirect()->route('user_page');

// с параметрами
return redirect()->route('user_page', ['id' => 1]);

Перенаправление на предыдущую страницу

Перенаправить на предыдущую страницу можно через функцию back().

return back();

Данная функция при перенаправлении возвращает код 302.

Перенаправить на другой домен

Если надо перенаправить на другой домен, то это можно сделать через метод redirect()->away().

return redirect()->away('https://other-site.ru');