Я делаю это, постоянно обновляя значение сеанса для пользователей, которые не вошли в систему.
Session::instance()->set('redirect', Request::instance()->uri());
Затем, после успешного входа в систему, вы можете перенаправить так:
Request::instance()->redirect(Session::instance()->get('redirect', URL::base());
Я не тестировал код, но концепция есть. Если значение не установлено, переходите к домашней странице.
Пожалуйста, будьте внимательны и проверяйте URL перенаправления. Этого не должно быть, но, поскольку мы имеем дело с пользовательскими данными, всегда есть небольшой шанс, что что-то плохое может вернуться. Последнее, что вам нужно, - это перенаправиться на зараженный вирусом веб-сайт после входа в систему.