Налаштування HTTPS-редиректів 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Показано 1 з 1 послугУсі 1626 послуг
Налаштування HTTPS-редиректів 1С-Бітрікс
Проста
~1 робочий день
Часті питання
Наші компетенції:
Етапи розробки
Останні роботи
  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1229
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    841
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    580
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    749
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    980

Налаштування HTTPS-редиректів 1С-Бітрікс

Редирект з HTTP на HTTPS — задача, яку недосвідчені розробники вирішують у кількох місцях одночасно: і в .htaccess, і в init.php, і в налаштуваннях Бітрікс. У результаті — ланцюжки редиректів, які сповільнюють завантаження і збивають з пантелику пошукових ботів.

Правильне місце для редиректу

Редирект має бути рівно в одному місці. Пріоритет — на рівні веб-сервера, до PHP.

Nginx:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl;
    server_name www.example.com;
    return 301 https://example.com$request_uri;
}

Apache (.htaccess):

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Якщо сайт за Cloudflare або іншим reverse proxy — редирект налаштовується в панелі CDN, а на сервері додатковий редирект не потрібен (інакше виникне петля).

Редирект з www на без www (і навпаки)

Оберіть канонічний домен і налаштуйте редирект. У Бітрікс додатково вкажіть канонічний домен у Налаштування → Сайти → [сайт] — це впливає на генерацію абсолютних URL у компонентах.

У SEO-налаштуваннях (Контент → SEO → Налаштування) увімкніть тег <canonical> — Бітрікс сам підставить правильний домен.

HSTS — примусовий HTTPS на рівні браузера

Після стабільної роботи HTTPS додайте заголовок HSTS у nginx:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

Починайте з короткого max-age (3600), переконайтеся, що все працює, потім збільшіть до 31536000. HSTS із preload і реєстрація в браузерних preload-листах — наступний рівень, потребує окремої процедури.

Перевірка ланцюжка редиректів

curl -I -L http://www.example.com/ 2>&1 | grep -E "HTTP/|Location:"

Допустимий ланцюжок: максимум один 301. Два і більше — проблема.

Випадок із практики

Корпоративний сайт: редирект був налаштований і в .htaccess (з www на без www + HTTP→HTTPS), і в init.php (додаткова перевірка $_SERVER['HTTPS']), і в nginx. Загальний ланцюжок — 3 редиректи. PageSpeed Insights показував це як критичну проблему. Рішення: прибрали редиректи з .htaccess і init.php, залишили лише в nginx-конфігу. Час першого байта скоротився на 150–300 мс.

Терміни виконання

Налаштування та перевірка HTTPS-редиректів — 1–2 години.