Обнаружил весьма интересный эффект обратной связи PHP backend и JS frontend при выполнении fetch(динамическая замена AJAX) запросов к серверу. Дано router, который принимает на $_SERVER['REQUEST_URI'] определенные данные, в целях безопасности и более грамотного распределения инструкций REQUST_URI в лоб переопределен на другое значение, что позволяет сделать PHP. Например, $_SERVER['REQUEST_URI'] было равно '/forum/view/' после выполнения $_SERVER['REQUEST_URI'] = '/forum/boards/' мы переопределили внутреннюю переменную рута и как бы отправили на switch другие данные для отработки контроллером. При переходе без использования JS статически - все работает шикарно и идеаально, но при загрузке динамического содержимого методом JavaScript fetch существует какая-то скрытая обратная связь и я в адресе браузера получаю значение, которое переопределил, что не желательно и вынуждает писать длинные костыли на восстановление путя. Где эти данные, которые указывают браузеру сменить строку браузера хранятся? Я не смог их обнаружить в заголовках ответа? Можно ли как-то предотвратить такое поведение? Эта обратная связь меня порядком удручает и заставляет писать ненужную логику. Какая обратная связь у $_SERVER['REQUEST_URI'] есть с клиентом и где об этом можно прочитать хоть что-то? Никаких редиректов браузер не показывает вообще.
Ну что fetch не меняет адресную строку - 100%, что твой костыль со сменой $_SERVER['REQUEST_URI'] тоже не причём - также ясно. А вот редирект скорее всего где-то скрылся.