Webhook телеграмма возвращает 302 ошибку

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
pantaleone48
Сообщения: 2
Зарегистрирован: 2018.03.27, 10:50

Webhook телеграмма возвращает 302 ошибку

Сообщение pantaleone48 »

Не могу разобраться как настроить адрес, чтобы телеграмм не возвращал 302 ошибку

в корне и во /frontend в файлах .htaccess данные настройки

Код: Выделить всё

Options +FollowSymLinks

IndexIgnore /
RewriteEngine on


# Если запрос начинается с /admin, то заменяем на /backend/web/
RewriteCond %{REQUEST_URI} ^/admin
RewriteRule ^admin\/?(.*) /backend/web/$1

# Добавляем другой запрос /frontend/web/$1
RewriteCond %{REQUEST_URI} !^/(frontend/web|backend/web|admin|site/webhook)
RewriteRule (.*) /frontend/web/$1 [L]

# Если frontend запрос
RewriteCond %{REQUEST_URI} ^/frontend/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /frontend/web/index.php [L]

# Если backend запрос
RewriteCond %{REQUEST_URI} ^/backend/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /backend/web/index.php [L]
В SiteController фронтенда

Код: Выделить всё

public function actionSetWebhook()
    {
        Yii::$app->telegram->setWebhook([
            'url' => Yii::$app->urlManager->createAbsoluteUrl(['site/webhook']),
        ]);

    }
    public function actionWebhook()
    {
        $data = file_get_contents('php://input');
        $data = json_decode($data, true);
    }
Веб-хук устанавливается без ошибок, но при отправке сообщения через метод getWebhookInfo телеграмм выдает следующую ошибку

Код: Выделить всё

{"ok":true,"result":{"url":"https://домен/site/webhook","has_custom_certificate":false,"pending_update_count":35,"last_error_date":1680856667,"last_error_message":"Wrong response from the webhook: 302 Found","max_connections":40,"ip_address":"айпи"}}
В runtime/logs/app.log

Код: Выделить всё

2023-04-07 11:37:47 [айпи][-][-][info][application] $_GET = [
    'r' => 'site/webhook'
]

$_POST = []

$_FILES = []

$_COOKIE = []

$_SERVER = [
    'REDIRECT_HTTPS' => 'on'
    'REDIRECT_downgrade-1_0' => ''
    'REDIRECT_suppress-error-charset' => ''
    'REDIRECT_STATUS' => '200'
    'HTTPS' => 'on'
    'downgrade-1_0' => ''
    'suppress-error-charset' => ''
    'HTTP_HOST' => 'домен'
    'HTTP_X_REAL_IP' => 'айпи'
    'HTTP_X_PROTOCOL' => 'HTTP/1.1'
    'HTTP_X_SERVER_IP' => 'айпи'
    'HTTP_X_FORWARDED_PROTOCOL' => 'https'
    'HTTP_X_FORWARDED_PROTO' => 'https'
    'HTTP_CONNECTION' => 'close'
    'CONTENT_LENGTH' => '444'
    'CONTENT_TYPE' => 'application/json'
    'HTTP_ACCEPT_ENCODING' => 'gzip, deflate'
    'PATH' => '/usr/bin:/bin:/usr/local/bin'
    'SERVER_SIGNATURE' => ''
    'SERVER_SOFTWARE' => 'Apache'
    'SERVER_NAME' => 'домен'
    'SERVER_ADDR' => 'айпи'
    'SERVER_PORT' => '80'
    'REMOTE_ADDR' => 'айпи'
    'DOCUMENT_ROOT' => '/home/users/o/аккаунт/domains/домен'
    'REQUEST_SCHEME' => 'http'
    'CONTEXT_PREFIX' => ''
    'CONTEXT_DOCUMENT_ROOT' => '/home/users/o/аккаунт/domains/домен'
    'SERVER_ADMIN' => 'info@jino.ru'
    'SCRIPT_FILENAME' => '/home/users/o/аккаунт/domains/домен/frontend/web/index.php'
    'REMOTE_PORT' => '36426'
    'REDIRECT_URL' => '/site/webhook'
    'REDIRECT_QUERY_STRING' => 'r=site/webhook'
    'GATEWAY_INTERFACE' => 'CGI/1.1'
    'SERVER_PROTOCOL' => 'HTTP/1.0'
    'REQUEST_METHOD' => 'POST'
    'QUERY_STRING' => 'r=site/webhook'
    'REQUEST_URI' => '/site/webhook'
    'SCRIPT_NAME' => '/frontend/web/index.php'
    'PHP_SELF' => '/frontend/web/index.php'
    'REQUEST_TIME_FLOAT' => 1680856667.8266
    'REQUEST_TIME' => 1680856667
]
Ответить