Если вы проверяете Auth на каждой странице (как правило, это то, что вам следует делать), это создаст циклы даже с другим опубликованным ответом.
С вашей логикой, каждый раз, когда я посещаю страницу только для участников, я буду перенаправляться на домашнюю страницу. Вы получаете то, что я пытаюсь передать?
Вы должны перенаправлять только не авторизованных пользователей. Зарегистрировавшиеся пользователи могут продолжить запрос и должны быть доставлены просмотр.
if (!$ci->session->userdata('logged_in')) {
redirect('/login');
}