Как отключить конверсию при использовании файла prolog_before.php?

Здравствуйте! <br/><br/><b>Я создал страницу для админки:</b> <br/> /bitrix/admin/mypage.php?lang=ru <br/><pre><code class="php">&lt;?php
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
define('ADMIN_SECTION', true);
global $APPLICATION;
use Bitrix\Main\Localization\Loc;

IncludeModuleLangFile(__FILE__);

$APPLICATION-&gt;SetTitle(Loc::getMessage('title.editor'));

?&gt;
&lt;!doctype html&gt;
&lt;html lang="&lt;?=LANGUAGE_ID?&gt;"&gt;
    &lt;head&gt;
        &lt;meta charset="&lt;?=LANG_CHARSET?&gt;"&gt;
        &lt;meta name="viewport" content="width=device-width, initial-scale=1"&gt;
        &lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt;
        &lt;title&gt;&lt;?=Loc::getMessage('title')?&gt;&lt;/title&gt;
        &lt;?$APPLICATION-&gt;ShowCSS();?&gt;
        &lt;?$APPLICATION-&gt;ShowHeadStrings();?&gt;
        &lt;?$APPLICATION-&gt;ShowHeadScripts();?&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;div id="app"&gt;&lt;/div&gt;
    &lt;/body&gt;
&lt;/html&gt;</code></pre> <br/><br/><b>Однако, я получаю ошибку:</b> <br/> /bitrix/tools/conversion/ajax_counter.php 500 (Internal Server Error) <br/><pre><code class="javascript">request.open("POST", "/bitrix/tools/conversion/ajax_counter.php", true);</code></pre> <br/><br/><b>Вопрос:</b> <br/> Возможно ли отключить (или удалить) скрипт Конверсия только на текущей странице (/bitrix/admin/mypage.php?lang=ru), или же есть способ исправить данную ошибку?
  • 2 марта 2025 г. 14:44
Ответы на вопрос 1
Чтобы отключить скрипт конверсии на вашей странице `/bitrix/admin/mypage.php?lang=ru`, вы можете попробовать несколько подходов:

### 1. Использование специального параметра
Bitrix предоставляет возможность отключать подсчет конверсии через переменные, если они заданы. Попробуйте добавить следующий код перед вызов `prolog_before.php`:
```php
define('DISABLE_CONVERSION', true);
```
Это отключит конверсию только для данной страницы.

### 2. Условия для подключения
Если вы хотите полностью избежать выполнения скрипта или редиректа на него, вы можете добавить условие для выполнения кода, который вызывает его:

```php
if (!defined('DISABLE_CONVERSION')) {
    // Код, который будет выполнять создание счетчиков и т.д.
}
```

### 3. Отключение через JavaScript
Если ошибка происходит из-за выполнения JavaScript, который вызывает AJAX-запрос на `/bitrix/tools/conversion/ajax_counter.php`, можно попробовать переопределить или отменить этот запрос:

```html
<script>
    // Переопределение функции отправки ajax-запроса
    XMLHttpRequest.prototype.realOpen = XMLHttpRequest.prototype.open;
    XMLHttpRequest.prototype.open = function(method, url, async, user, password) {
        if (url.includes("/bitrix/tools/conversion/ajax_counter.php")) {
            console.log("Запрос к конверсии отключен для этой страницы.");
            return; // Прерывание запроса
        }
        this.realOpen(method, url, async, user, password);
    };
</script>
```

### 4. Обработка ошибок
Также, вам стоит убедиться, что проблема не в самой реализации или в условиях, когда обращение к скрипту /bitrix/tools/conversion/ajax_counter.php возвращает код 500. Проверьте логи сервера для более детальной информации о возникающей ошибке.

### 5. Обратитесь в поддержку
Если ничего из вышеперечисленного не помогло, возможно, стоит обратиться в техническую поддержку Bitrix, чтобы получить актуальную информацию о том, как правильно можно отключить или обработать выполнение этого скрипта.

Попробуйте один из предложенных подходов и посмотрите, решит ли это вашу проблему.
Похожие вопросы