Почему срабатывает именно этот редирект?

Ссылка скопирована
1 ответ

Интересное наблюдение. Есть страница редиректа у которой в ЗАГОЛОВКЕ передается(что вообще приоритетнее всего контента козалось-бы):
Refresh: 0;url=https://site.ru //Редирект 1

А сама страница еще имеет 6 видов редиректов и имет вид:

<html>   <head>       <meta http-equiv="refresh" content="0;URL=https://site.ru">  //Редирект 2   </head> <body>       <script type="text/javascript">             location="https://site.ru";  //Редирект 3             document.location.href="https://site.ru";  //Редирект 4             location.replace("https://site.ru");  //Редирект 5             window.location.reload("https://site.ru");  //Редирект 6             document.location.replace("https://site.ru");  //Редирект 7       </script> </body> </html>

<html> <head> <meta http-equiv="refresh" content="0;URL=https://site.ru"> //Редирект 2 </head> <body> <script type="text/javascript"> location="https://site.ru"; //Редирект 3 document.location.href="https://site.ru"; //Редирект 4 location.replace("https://site.ru"); //Редирект 5 window.location.reload("https://site.ru"); //Редирект 6 document.location.replace("https://site.ru"); //Редирект 7 </script> </body> </html>

То-есть пытаюсь сделать 7 разных видов редиректов. И самое интересное что срабатывает Редирект 7.

Внимание вопрос. Почему?

Дополнительно:

потому что больше половины в этом списке э то не редиректы, а какая-то хренота

  • Попробуй перемешай все редиректы как хочешь и сработает все-равно последний. Почему последний а не первый то?
  • Ответы:

    мета всегда была на случай отключенного JS ,
    почему - неибу но очевидно что DOM полноценно должен быть отрисован - а это JS , а уже потом смотреть на директивы

    а уже что там в JS коде устаревшего или работающего не везде - сам разбирайся

    убери например 7й и увидишь что сработал какой-то из JS

    Я бы понял, если бы все редиректы были уникальными. Тогда по логам HTTP сервера можно было-бы их различить. А так... А почему после залива в бензобак 40 литров машина сжигает именно последний литр? Не предпоследний, и не первый, например?!

    • та наверно ж ТС сделал их уникальными, не идиот, надо думать, другое дело что рабочих в чистом виде там два, остальные требуют доп кода - и потому хз как оно Тсу попало - какой-то начинающий фрилансер скопировал

    Про редирект через refresh - это асинхронные методы редиректа, они остаются таковыми даже с задержкой 0. Если очень упрощать - асинхронный код выполнится после синхронного. Подробнее читайте про JS Event Loop в браузере

    Редиректы - 3-7:
    Это синхронный код, в котором фактически каждая строка меняет значение одной и той же переменной. Отрабатывает он моментально, значит итоговое значение window.document.location.href = тому, которое было записано последним

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Кирилл JS Ответ

    Для того чтобы понять, почему срабатывает именно этот редирект, необходимо проанализировать код, который отвечает за перенаправление.

    Возможно, на вашем сайте используется файл .htaccess для настройки перенаправлений. Проверьте этот файл на наличие правил, которые могут приводить к редиректу на конкретную страницу.

    Также, стоит обратить внимание на код самой страницы, с которой происходит редирект. Возможно, там прописан JavaScript код или PHP функция, которая инициирует перенаправление.

    Если редирект происходит после отправки определенной формы, то следует изучить код обработчика формы на сервере и проверить, есть ли там условие для перенаправления.

    Для более точного определения причины редиректа, рекомендуется использовать инструменты разработчика браузера, такие как инспектор элементов или консоль. Они могут помочь выявить дополнительные запросы или скрытые скрипты, которые могут вызывать редирект.

    Если у вас есть доступ к серверу, то стоит также проверить логи сервера на предмет информации о редиректах. Это может помочь выявить источник проблемы.

    В целом, для выявления причины срабатывания конкретного редиректа необходимо провести детальный анализ кода и логов, а также использовать инструменты разработчика для отслеживания запросов и скриптов на странице.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно