php Как выяснить причину редиректа -- алгоритм действий (redirect)

ВНИМАНИЕ: когда вносите изменения и проводите отладку, помните что браузер может кэшировать редиректы (решение).

Собственно "редиректить" в случае с сайтом php могут три вещи:

  1. Сервер -- т.е. программа-сервер (либо глобальными настройками, что врят ли) либо с помощью .htaccess -- в этом случае сам скрипт на исходной странице (тот, что мог бы запуститься в ответ на запрошенный URL не будь редиректа) -- даже не успевает начать выполняться.

    Решение с сервером

    1. Если дело в глобальной конфигурации сервера, придётся изучать её
    2. Если дело в .htaccess -- Временно переименуйте его (именно тот файл .htaccess, который лежит рядом со скриптом, который является точкой входа) и посмотрите что будет. Если редирект пропал ошибок нет, а redirect пропал, значит дело в .htaccess.
      Тогда анализируйте .htaccess
  2. В приложении (т.е. в скрипте PHP, на основании определённой логики -- например страница просто не найдена в базе данных)

    Решение с приложение (php скрипт)

    -- тут вам надо владеть навыками отладки приложения вообще и разбираться в конкретном движке в частности (второе на обязательно, но может сильно ускорить процесс).
    Теоретически можно поискать по коду функци осуществляющие редирект (это может помочь если надо ними не написаны функции-обертки чисто для данного приложения/фрэймворка).

  3. JS или HTML на странице тоже могут осуществлять редирект .

    Выключаем редирект на фронте

    -- для остановки JS достаточно временно выключить javascript в браузере, также можно выключить и html-редирект.

Key Words for FKN + antitotal forum (CS VSU):