header("Location: ./");
./
- это относительный URL . Следовательно, если вы отправите обратно Location: ./
в ответе HTTP, тогда браузер будет интерпретировать это как относящийся к тому, что в данный момент отображается в браузере.
Итак ...
При запросе localhost/project/login/
(обратите внимание на конечный пункт sh), браузер будет перенаправлять обратно на localhost/project/login/
(тот же URL - перенаправление l oop).
Когда запрашивая localhost/project/login.php
, браузер будет перенаправлять на localhost/project/
(я полагаю, ваша домашняя страница).
Чтобы всегда перенаправлять обратно на домашнюю страницу (/project/
) с любой глубины URL-пути, тогда вам потребуется как минимум укажите root -относительный URL в заголовке Location
. Например:
header('Location: /project/');
(Или вы не можете рассчитать текущую глубину пути из запроса, чтобы построить относительный URL-путь. Но если вы собираетесь это сделать, то вы можете также рассчитать абсолютный URL-адрес домашней страницы - или сохранить его - что, возможно, предпочтительнее.)