Снова вопрос про перевод магазина на HTTPS Есть решение

Снова хочу поднять тему перевод магазина на HTTPS (другие аналогичные посты прочитал ;)

что сделано:

В настройках Инсталлера домен прописан с https://

Сайт -> Структура -> Магазин -> Использовать защищенное HTTPS-соединение при оформлении заказа и для личного кабинета покупателя

внес изменения в robots.txt (теперь HOST & Sitemap прописаны с https://)

Нужно 301 перенаправление на https всего, кроме robots.txt, который должен быть доступен и по http, и по https:

для этого

вставляю в начало .htaccess

RewriteEngine On

RewriteBase /

RewriteCond %{HTTPS} off

RewriteCond %{REQUEST_URI} !^/robots.txt$ [NC]

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]

перенаправление работает, но начинают на некоторых товарах пропадать эскизы товара (буд-то нет файла эскиза - а он есть!) как в теме MegaShop для компьюетра, так и в теме Mobile для мобильных устройств, также начинаются проблемы (не создаются или создаются но не все...) в создании эскизов фото при добавлении новых товаров. Когда убираю эти строки из .htaccess и все эскизы снова нормально отображаются и нормально создаются для новых товаров!

если прописываю в .htaccess

RewriteCond %{HTTP:X-HTTPS} !1

RewriteCond %{REQUEST_URI} !robots.txt

RewriteRule ^(.*)$ https://salfetki.kiev.ua/https://salfetki.kiev.ua/$1 [R=301,L]

сайт не отображается - ошибка "циклические ссылки".

Хостинг besthosting.ua

Какие еще есть рабочие варианты для 301 перенаправления на https всего, кроме robots.txt, который должен быть доступен и по http, и по https???

2 ответа

  • 2
    Антон 15 августа 2017 09:56 # Решение

    Отвечаю сам на свой вопрос - возможно кому-то будет полезно и сохранить много времени и нервов ;)

    Рабочий вариант для .htaccess:

    RewriteEngine On

    RewriteCond %{HTTPS} off

    RewriteCond %{REQUEST_URI} !^/robots.txt$ [NC]

    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]

    Проблемы возникали только из-за строки RewriteBase /

  • 1

    Можно и так

    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]
    • +1
      Игорь. Игорь. 22 декабря 2018 12:58 #

      перешли на https сделали все как сделал автор, но яндекс ругается, что не доступен robots , сделали ваш вариант , при проверке сообщение с "сервер отвечает редиреком на запрос /robots.txt "

      подскажите что не так сделал? может вообще нечего нечего не добавлять и оставить как было ?

      • +1

        У вас там прописан редирект, поэтому и "сервер отвечает редиреком на запрос /robots.txt" а в чем проблема? Просто если перевели сайт на https то и в инструментах смотрите его уже с https.
        Редирект Яндекс нормально обрабатывает и понимает, что сайт переехал на SSL. Ждите теперь пока переклеит страницы. У Яндекса в настройках внесите везде с https просто.

        • +1
          Игорь. Игорь. 22 декабря 2018 22:09 #

          Да именно так, я так понимаю это добавлять не нужно?

          RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]
          • +1

            Это правило, которое делает редирект http -> https
            Это можно по разному сделать, директивами в .htaccess, с помощью контрольной панели хостинга, в настройках сайта включить и т.д. Кому как нравится.

            Нужно или не нужно зависит от того что в итоге нужно получить и что и как вы хотите.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите