Top.Mail.Ru
Ответы

Почему JS-скрипт не подключается к сайту, редиректит на другой сайт?

У меня сайт на Битрикс, если это важно. Я пытаюсь подключить js-скрипт к нужной странице через стандартный тег script src=... указываю прямой путь до него. Перезагружаю страницу - тишина, скрипт не подключен. Смотрю в коде - скрипт есть. Пытаюсь открыть это скрипт в браузере - вместо открытия кода редиректит на какой-то r.rrzs .ru. Что за ерунда? Думал дело в Касперском, приостановил защиту, один фиг редиректит.

По дате
По рейтингу
Аватар пользователя
Гений

А сайт использует HTTPS, между прочим? Если нет, то провайдер может перехватывать любые скрипты и перенаправлять их на свои рекламные домены. Сейчас шифрование не то, что крайне желательно, но практически уже обязательно.

Аватар пользователя
Гений

видимо сервер битрикс и редиректит туда, если пользовательские скрипты подключаются мимо API

Аватар пользователя
Ученик

Проблема редиректа при попытке открыть JS-скрипт напрямую в браузере, скорее всего, связана с настройками веб-сервера (в вашем случае, вероятно, Apache или Nginx, используемые Битрикс). r.rrzs.ru указывает на перенаправление, которое, вероятно, настроено для обработки определенных типов файлов или запросов. Это перенаправление мешает вам увидеть код скрипта, но не обязательно является причиной того, что скрипт не работает на странице.

Давайте разберемся по шагам:

1. Проверьте путь к скрипту:

⦁ Абсолютный путь: Убедитесь, что путь к скрипту в src указан абсолютно, начиная с корня сайта (например, /bitrix/templates/ваш_шаблон/js/script.js). Относительные пути могут быть неверно интерпретированы, особенно если страница находится не в корне сайта.
⦁ Существование файла: Дважды проверьте, что файл скрипта физически существует по указанному пути на сервере. Можно воспользоваться FTP-клиентом или файловым менеджером хостинга.
⦁ Регистр: Проверьте правильность регистра в имени файла и пути. На Linux-серверах (которые обычно используются для Битрикс) регистр важен.

2. Подключение скрипта в Битрикс:

⦁ Используйте API Битрикс: Рекомендуется подключать скрипты в Битрикс через API, чтобы избежать конфликтов и обеспечить правильную загрузку. Для этого используйте функцию CJSCore::Init() или $APPLICATION->AddHeadScript() в зависимости от версии Битрикс. Пример:
<?$APPLICATION->AddHeadScript("/bitrix/templates/ваш_шаблон/js/script.js");?>

Разместите этот код в header.php вашего шаблона.

3. Проверьте консоль браузера:

⦁ Ошибки: Откройте консоль разработчика в браузере (обычно клавиша F12) и перейдите на вкладку "Console". Там могут быть сообщения об ошибках, которые помогут понять, почему скрипт не работает. Обратите внимание на ошибки 404 (файл не найден) или синтаксические ошибки в самом скрипте.

4. Отключите кеширование:

⦁ Браузер: Очистите кеш браузера. Иногда браузер может хранить старую версию скрипта.
⦁ Битрикс: Если вы используете кеширование в Битрикс, временно отключите его, чтобы убедиться, что проблема не связана с кешем.

5. .htaccess и настройки веб-сервера:

⦁ .htaccess: Проверьте файл .htaccess в корне сайта и в папке со скриптом. Возможно, там есть правила, которые перенаправляют запросы к JS-файлам. Временно переименуйте .htaccess (например, в .htaccess_bak), чтобы проверить, влияет ли он на ситуацию.
⦁ Настройки сервера: Если проблема не решается, обратитесь к документации вашего хостинга или к службе поддержки. Возможно, на уровне сервера настроены правила перенаправления, которые нужно изменить.

Что касается r.rrzs.ru : Это сервис, который может быть связан с защитой от DDoS-атак или фильтрацией трафика. Он может блокировать прямой доступ к определенным типам файлов, чтобы предотвратить злоупотребления. Однако, это не должно мешать скрипту работать, если он правильно подключен к странице.

Если после всех этих шагов проблема не решена, предоставьте больше информации:

⦁ Код подключения скрипта: Как именно вы подключаете скрипт в HTML?
⦁ Пример URL скрипта: Полный URL, по которому вы пытаетесь открыть скрипт.
⦁ Содержание скрипта (если возможно): Есть ли в скрипте какие-то специфические функции, которые могли бы вызвать конфликт?
⦁ Версия Битрикс: Укажите точную версию Битрикс, которую вы используете.

С более подробной информацией будет легче определить причину проблемы.

Аватар пользователя
Ученик

Если ваш JS-скрипт редиректит на другой сайт, это может быть связано с тем, что файл был изменен или заражен вредоносным кодом. Проверьте, нет ли на сервере вирусов или несанкционированных изменений. Также убедитесь, что путь к скрипту указан правильно и что файл доступен. Возможно, стоит проверить настройки безопасности на Битрикс.



Видео по теме