Redireccionar a la URL del referidor en codeigniter

En el sistema de mensajería de mi proyecto, cuando recibe un mensaje de un usuario, aparece una alerta por correo electrónico que dice que el otro usuario ha enviado un mensaje para ver el mensaje. Haga clic aquí (es decir, la url del mensaje) Si el usuario no ha iniciado sesión en el sistema obtiene la redirección a la página de inicio de sesión y, después de iniciar sesión, debería volver a la URL del remitente. He hecho un controlador de base en la carpeta Core y extendiendo el controlador de CI el código de autenticación es el siguiente.

function authenticate($type = 'user')
    {
        if($type == 'user')
        {
            if($this->user_id)
            {
                // user is logged in. check for permissions now
            }
            else
            {
                // user isnt logged in. store the referrer URL in a var.
                if(isset($_SERVER['HTTP_REFERER']))
                {
                    $redirect_to = str_replace(base_url(),'',$_SERVER['HTTP_REFERER']);
                }
                else
                {
                    $redirect_to = $this->uri->uri_string();
                }            

                redirect('user/login?redirect='.$redirect_to);
                exit;
            }
        }

        if($type == 'admin')
        {
            if($this->session->userdata('admin_id') && $this->session->userdata('user_type') ==5)
            {
                // Admin is logged in
            }
            else
            {
                redirect('admin/login');
                exit;
            }
        }
    }

La url de referencia es "http://example.com/project/pm/view_conversation?id=11" ahora el problema es que estoy obteniendo la url de referencia hasta view_conversation y no puedo obtener la parte de identificación.

Cualquier sugerencia ?

Gracias.

Respuestas a la pregunta(5)

Su respuesta a la pregunta