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

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

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

return redirect('news/index');

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

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

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

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

Если предполагается, что текущий экшен должен делать редирект (например после обновления страницы), то можно использовать код ниже.

use Illuminate\Http\RedirectResponse;
use Illuminate\Support\Facades\Redirect;

public function update($id): RedirectResponse
{
    // код

    return Redirect::route('pages.edit', ['id' => $id]);
}

Параметр RedirectResponse говорит о том, что экшен должен делать редирект, иначе Laravel вернёт ошибку.

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

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

return back();

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

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

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

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