Перевод MODX с http на https

Перевод MODX с http на https MODX Revo

Последнее изменение поста: 23 октября 2018 в 18:52

Не так давно у меня была статья: Перевод WordPress сайта с http на https (Let’s Encrypt) за 7 минут, ну так вот перевести MODX с http на https, еще быстрее, у меня весь процесс перевод занимает менее 2х минут. В даваться в особенности покупки или получения SSL сертификата не буду, на хостинге бегет его бесплатно дают, надо 2 раза мышкой щелкнуть и все (смотрите статью про перевод wordpress на https). Объясню только технический момент связанный непосредственно с самим MODX Revo.

Настройки MODX для работы с протоколом https

Тут все просто, настройка только одна. Заходим в «Системные настройки» — переходим в ветку Система и сервер, находим тип сервера и меняем протокол на https

Тип сервера — server_protocol — https

меняем в настройках modx тип сервера

Настройки .htaccess MODX для работы с протоколом https

Открываем .htaccess и добавляем в него следующие строки

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

Вот пример рабочего .htaccess файла сайта (в нем также правила для склейки домена с www и без www) studies.su, работающего на хостинге бегет.

RewriteEngine On
RewriteBase /

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

# Rewrite www.domain.com -> domain.com -- used with SEO Strict URLs plugin
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^studies\.su [NC]
RewriteRule (.*) https://studies.su/$1 [R=301,L]

В принципе все.

Сопутствующие статьи: Проверка правильности установки SSL и Смешанное содержимое HTTPS: как его найти и исправить

На форумах видал, у некоторых имеются проблемы с тегом base, типа он все равно выводит путь с http, по этому поводу не чего не могу сказать, так как я не использую base на сайтах MODX, а заменяю его на canonical — MODX SEO-strict — Заменяем base href на link rel canonical.

Если у кого то что то не получается, задавайте вопросы в комментариях, помогу чем смогу!

Оценить статью
web-revenue.ru
Добавить комментарий

  1. Евгений Карпов

    Спасибо

    Ответить
  2. Светлана Снег

    Может кто подскажет, почему после перехода админка перестала загружаться — просто открывается, но файлы и шаблоны не загружаются. Сервер https выбран, переадресация прописана

    Ответить
    1. Alex87

      Значит вы в админку заходите по http, а не по https. К примеру на хостинге бегет (в принципе не только на нем) лечение такое: в папке manager есть файл .htaccess, переименовываем его в ht.accesи все админка тоже редиректится на https

      Ответить
      1. Светлана Снег

        Спасибо, да правда заходила по http, не заметила

        Ответить
        1. Alex87

          Пожалуйста)

          Ответить
  3. ПНМЦ ПНМЦ

    после процедуры не подгружаються файли стилей , где ошибка ?

    Ответить
    1. Alex87

      http://prntscr.com/mhscxz

      Ответить
      1. ПНМЦ ПНМЦ

        где его поменять ? http://joxi.ru/vAWNwqxU1Wvzx2

        Ответить
        1. Alex87

          заместо [[!site_url]] пропишите адрес с https и все

          Ответить
          1. ПНМЦ ПНМЦ

            спасибо !!! , за 20 минут до ващего ответа сам уже нашел 🙂

          2. Alex87

            Пожалуйста.

  4. Павел Шевченко

    Здравствуйте. Спасибо. Переадресация по Вашей рекомендации работает хорошо. Только как сейчас сделать что бы сайт временно был так же доступен по протоколу http пока яндекс ищет клей для сайта. Спасибо.

    Ответить
    1. Alex87

      Здравствуйте. Пожалуйста.Не делать 301 редирект в htaccess)

      Ответить
  5. ObiWanKenobi

    А если наоборот нужно с https на http как быть? По сути вообще нет даже сертификата, думаю СЕО хочет просто так или для подстраховки.

    Ответить
    1. Alex87

      А в чем проблема — делается все в обратном порядке)

      Ответить
  6. Фома Рунетский

    При прописи в htaccess сайт не открывается вообще. Удаление этой записи помогло, но что делать непонятно. Вообще ставлю из-за того что скрипты обратной связи перестали работать выводя в браузерную строку такую ошибку: страница пытается загрузить скрипты из непроверенных источников

    Ответить
    1. Alex87

      Спросите у хостера, какой у них рабочий вариант для htaccess. В комментариях ниже есть еще варианты.

      Ответить
  7. Павел

    У меня рабочий вариант таков:
    RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

    Ответить
  8. Сергей Стекольников

    после перехода на https:// в самой админке нужно вручную дописывать протокол вручную, иначе не видно папок. Такое на 2-х сайтах. Вроде все испробовал.

    Ответить
    1. Alex87

      Нужно редирект просто настроить и все

      Ответить
      1. Elvira Kalimullina

        Напишите, пожалуйста, чуть подробнее про редирект, где его настроить. спасибо!

        Ответить
        1. Alex87

          По сути обычно прописать в htaccess
          RewriteCond %{SERVER_PORT} !^443$
          RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]
          site.ru меняем на свой домен и в настройках ставим https — для бегета по сути этого достаточно. У тайм веба к примеру в htaccass вообще не чего не нужно прописывать — там в настройках соединения (со стороны хостинга все настраивается) — в у некоторых хостингов могут быть свои правила — узнать их можно у хостера.

          Ответить
          1. Elvira Kalimullina

            спасибо, по вашей ссылке сайт разместила на бегет)

          2. Alex87

            Пожалуйста) Правильный выбор)

          3. Владимир

            Спасибо, все работает.

          4. Alex87

            Пожалуйста)

    2. Alex87

      смотрите файл .htaccess в директории manager, а лучше сделайте его ht.access

      Ответить
  9. Александр

    Случайно влил копипатом в .htaccess вот это

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

    Теперь вместо модекса открывается site.ru
    Восстановил из бэкапа — не помогло.
    Нужно в базе смотреть, чтоб исправить?

    Ответить
    1. Alex87

      Нет. Нужно по FTP подключиться, открыть .htaccess и поправить)

      Ответить
      1. Анна

        Здравствуйте! Аналогично предыдущему челвоеку скопипастил это
        RewriteCond %{SERVER_PORT} !^443$
        RewriteRule ^(.*)$ https://studies.su/$1 [R=301,L]

        Теперь при переходе на сайт без https всегда идет переадресация на https://studies.su/
        htaccess открыл, поправил, через файл зиллу, все сохранилось как надо, но сайт все равно переадресуется на https://studies.su/ вот чтобы я не писал!

        Ответить
        1. Alex87

          Удалите все из core/cache и в браузере кэш очистите

          Ответить
  10. Паша Михалев

    Все вроде сработало! спасибо!

    Ответить
    1. Alex87

      Пожалуйста)

      Ответить
  11. Bhakti Lata

    HTTPS-редирект в админке работает, если в папке manager включить файл .htaccess при этом запись должна быть: RewriteEngine On

    Ответить
    1. Alex87

      Все зависит от хостинга, у меня без включения файла .htaccess в папке manager все работает

      Ответить
  12. Dmitry Yarmakovich

    У меня таким способом пропадает редирект на ЧПУ адреса. Который день бьюсь, не могу понять как вернуть обратно, но чтоб сохранить и https. Страницы уже из индекса повылетали:(

    Ответить
    1. Alex87

      Пишите хостеру и узнавайте у него как правильно настроить .htaccess

      Ответить
  13. Сергей Иванов

    Благодарю за четкую инструкцию, Алексей! Нашел ещё вот такую информацию._https://docs.modx.com/revolution/2.x/administering-your-site/settings/system-settings/link_tag_scheme
    У меня в link_tag_scheme значение -1.

    И ещё в .htaccess у меня есть закомментированная запись

    # https://www.domain.com when your cert only allows https://secure.domain.com
    RewriteCond %{SERVER_PORT} !^443
    RewriteRule (.*) https://secure.domain.com/$1 [R=301,L]

    Хотел спросить зачем у вас еще $ добавлен?

    RewriteCond %{SERVER_PORT} !^443$

    Ответить
    1. Alex87

      По сути не особо важна какая схема, я использую abs и строгий метод запроса (так все как то пошустрее чтоли) А по поводу $ так хостер порекомендовал) Работает все нормально, а больше не чего не надо) На некоторых хостингах может не работать)

      Ответить
  14. Олег Погудин

    а после настройки по данной инструкции sitemap ссылки формирует с http или https?

    Ответить
    1. Alex87

      У меня с https ссылки формирует pdoSitemap

      Ответить
  15. Эмиль

    Нашел решение: HTTPS-редирект в админке работать НЕ БУДЕТ если в папке manager включить файл .htaccess

    Ответить
  16. Эмиль

    По большому счету разобрался. Все работает.

    Однако, есть небольшая проблема: если вводить «site.com/manager/» то он не переадресовывает на https.
    Если вводить сразу «https://site.com/manager/» то все работает

    Ответить
  17. Эмиль

    У меня не работает такой вариант…..

    Ответить