Redirect делается обычно на основе запрашиваемого URL из переменной $_SERVER[‘REQUEST_URI’], далее назовем это query URL.
Первоначально редиректим на страницу авторизации с указанием запрашиваемого url из query URL в переменной location.
header("Location:login.php?location=" . $_SERVER['REQUEST_URI'] );
Уже на странице авторизации после успешной авторизации делаем тоже самое – забираем query URL. Далее выщепляем из него только нужное через регулярные выражения или explode на основе строки “location=” и редиректим. В случае если в запросе нет строки “location=” – редиректим на index.php.
$req_url = ($_SERVER['REQUEST_URI']); $splitted_array = explode('location=', $req_url); if(!empty($splitted_array[1])) { $url= $splitted_array[1]; header("Location:$url"); } else { header("Location:index.php"); }