MODX https перевод сайта на защищенный протокол. Modx https


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

Не так давно у меня была статья: Перевод 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]

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]

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

MODX https перевод сайта на защищенный протокол

Для того что бы сайт на MODX Revolution работал по защищенному протоколу необходимо для начала зайти в системные настройки сайта в фильтре параметров core ввести http и найденный параметр заменить на https

Далее в фильтре системных настроек вводим

link_tag_scheme

в найденном параметре по умолчанию у нас стоит -1 нам необходимо поставить 1 для того что бы сайт работал по защищенном протоколу https.

Уже на данном этапе сайт успешно работает по защищенному протоколу. Но если ввести адрес сайта с http он так же будет доступен. Для того что бы сайт был доступен только по защищенном протоколу нам необходимо настроить редирект в файле .htaccess

Для этого откроем файл .htaccess и расскомментируем следующие строчки:

RewriteCond %{HTTP_HOST} . RewriteCond %{HTTP_HOST} !^modx\.cc [NC] RewriteRule (.*) <a href="https://subgid.com/https://subgid.com/$1">https://modx.cc/$1</a> [R=301,L]

У нас будет происходить редирект с домена с www на домен без www

И выше добавим следующий редирект который перенаправит с адреса http на адрес https

RewriteCond %{HTTPS} =off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Возможно на вашем хостинге данный редирект не сработает привожу еще несколько вариантов

Вариант 2

RewriteCond %{SERVER_PORT} !^443$ RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

Вариант 3

RewriteCond %{ENV:HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Вариант 4

RewriteCond %{HTTP:X-HTTPS} !1 RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Вариант 5

RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"' RewriteRule ^(.*)$ <a href="https://www.domain.com/https://www.domain.com/$1">https://www.domain.com/https://www.domain.com/$1</a> [L] #не забудьте заменить на ваш домен

Вариант 6

RewriteCond %{HTTP:X-Forwarded-Protocol} !=https RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Вариант 7

RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

После всего проделанного ваш сайт будет доступен исключительно по защищенному протоколу. Можно смело добавлять его в ЯВ и по истечении недели двух полностью будет переиндексирован. Если на сайте есть Тиц то он отвалится, а после очередного апдейта вернется если на то будет воля великого Яндекса.

P.S. На хостинге Beget можно бесплатно получить сертификат Let's Encrypt для перехода на https.

www.modx.cc

Как включить HTTPS (SSL) в MODX

Для того чтобы перевести сайт на HTTPS нужно выполнить несколько шагов:

1. Включить возможность доступа к сайту по HTTPS

Для этого подключите SSL-сертификат в настройках хостинга. Чаще всего это можно сделать бесплатно на любом нормальном хостинге, таком как Timeweb.

2. Внести правки в core/config/config.inc.php

if (!defined('MODX_URL_SCHEME')) { $url_scheme= $isSecureRequest ? 'https://' : 'http://'; //заменить на: if (!defined('MODX_URL_SCHEME')) { $url_scheme= 'https://';

3. Отредактировать соответствующую настройку в MODX

Системные настройки -> [Поиск по ключу] server_protocol Установить https.

4. Убедится в доступности всех подключаемых файлов по HTTPS

Если на сайте используются соронние скрипты, стили, картинки или любые другие файлы, то они должны быть доступны по https. Для этого убедитесь, что адрес к ним прописан через https:// или //. Например:

Проверить все ли в порядке можно через консоль браузера. Также, если что-то не так, то вы не увидете зеленую пометку в адресной строке браузера о том, что сайт "Надежный".

Добавить переадресацию в .htaccess

(На Timeweb достаточно вклить переадресацию в настроках сайта в панели управления (Люблю за это этот хостинг!))

Вариант 1 (работает для sprinthost.ru)

#RewriteEngine on (Если до этого по коду не включено) RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://SITE-NAME.ru/$1 [R=301,L]

Другой вариант редиректа (работает для webhost1.ru):

#RewriteEngine on (Если до этого по коду не включено) RewriteCond %{ENV:HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

5. Обновить кэш сайта

Готово. Настройка SSL-шифрования в системе MODX завершена.

5.1 не забудьте

Не забудьте внести правки в robots.txt (поменять дерективу sitemap), а также указать основное зеркало сайта в Яндекс- и Гугл-вебмастере.

Способ поблагодарить автора сайта:

webstool.ru

Настройка HTTPS соединения в MODX Revolution

Не так давно начал переводить сайты, в том числе и на MODX Revolution, на работу с HTTPS протоколом. Сейчас, с моей точки зрения, самое время. Надо было сразу написать инструкцию по переводу сайтов на HTTPS протокол, но подобных постов и так много, поэтому решил не плодить контент. Пока руки не дошли до перевода на HTTPS сайтов на sweb.

Думаю, стоит начать с самой процедуры перевода сайтов на защищенное соединение, после чего коснусь тех проблем, с которыми столкнулся на sweb. Сначала нам надо получить сертификаты, я их генерирую через zerossl.com, который в свою очередь генерирует их через Let’s Encrypt. У данного способа нет никаких особых преимуществ, единственное все можно сделать онлайн. Получив сертификаты привязываем к нужному нам домену, в случае с sweb это делается через загрузку сертификатов в административную панель хостинга во вкладке SSL.

Дальше для перевода самого MODX Revolution на защищенное HTTPS соединение необходимо включить две системные настройки: В разделе System and Server (Система и Сервер) параметру server_protocol необходимо задать значение https, тем самым мы сообщим системе управления, что мы хотим использовать HTTPS в качестве основного протокола на сервере. В разделе Site (Сайт) параметру link_tag_scheme необходимо присвоить значение 1, вместо значения -1, тем самым мы указываем MODX, что все ссылки необходимо генерировать с указанием схемы https (то есть использовать https:// в начале формы записи URL). После этого достаточно вручную очистить файловый кеш и наш сайт на MODX Revolution начнет корректно обрабатывать https:// обращения.

Но для sweb хостинга это оказалось не совсем так. На нем MODX категорически отказывался определять HTTPS подключение. Причина оказалась в том, что для определения защищенного подключения MODX использует серверную переменную $_SERVER['HTTPS'] (кому интересно, процедура проверки находится в файле config.php). Однако в случае с sweb данная переменная сервера отсутствовала как класс и вместо нее присутствовала переменная $_SERVER['HTTP_HTTPS']. Как я понял, это связано с некоторыми особенностями настройки связки Apache+nginx, но проверить не смог, так как хостинг шаред. В общем решение данной проблемы в итоге нашлось, через объявление переменной HTTPS в .htaccess, при условии, что она может быть инициализирована. Данное решение подходит нам идеально, так как не надо менять код самой CMS.

Итак, вначале .htaccess нам необходимо добавить:

SetEnvIf HTTPS on HTTPS=on

Все, после этого мы получаем работающее HTTPS соединение на хостинге компании sweb.

UPDATE: если вы столкнулись с проблемой, что в .htaccess не работает дефолтная конструкция, которая переводит все подключения к серверу на защищенное соединение:

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

, то замените ее на следующую:

RewriteCond %{ENV:HTTPS} !on [NC] RewriteRule (.*) https://www.example.com/$1 [R=301,L]

Просмотров: 1142

Комментариев:

« Работа с getCacheДобавляем косую черту в конец URL »

www.devmarks.ru

MODX https настраиваем сайт на работу по защищенному протоколу

Если вы решили настроить сайт на правильную работу по безопасному протоколу https, то необходимо провести некоторые настройки системы и файла «.htaccess». Для начала перейдем в системные настройки Modx, для более удобного поиска - в фильтре параметров вводим «http», затем найденный параметр заменяем с «http» на «https».

Теперь снова обращаемся к фильтру системных настроек и вводим «link_tag_scheme», данная настройка Modx отвечает за схему генерации URL тега .

В найденном параметре согласно стандартным настройкам Modx Revolution должно стоять значение «-1» (URL-адрес является относительным к site_url). Вместо значения по умолчанию мы прописываем значение «1», что будет сообщать системе, что ссылки на сайте должны генерироваться с защищенным протоколом https.

Настройка .htaccess для Modx Revolution

После первых двух настроек системы сайт уже начнет работу по защищенному протоколу, но страницы сайта будут доступны и по обычному протоколу - с http. Чтобы сайт был доступен исключительно по безопасному протоколу https - нам нужно настроить автоматический редирект, при помощи файла «.htaccess».

Переходим через панель управления сайтом или FTP-клиент в корневую папку сайта, далее открываем для редактирования файл «.htaccess» и убираем символы комментирования со следующих строчек:

Прописываем вместо домена «example-domain-please-change.com» адрес своего сайта и не забываем указать вместо «http» защищенный протокол «https».

Теперь у нас настроен автоматический редирект с домена с www на домен без www.

Над данными строками необходимо добавить следующие строки для редиректа, которые будут перенаправлять страницы сайта с адреса http на аналогичный адрес, но с добавлением https.

Для примера, в случае с нашим сайтом, который кстати находится на хостинге Timeweb, актуальны следующие строки:

Варианты настройки https протокола для разных хостинг-компаний

В зависимости от хостинга может работать один или несколько вариантов настройки редиректов. Чтобы определить какой именно подходит для вашего хостинга — можно воспользоваться либо инструкцией по настройке редиректа с http на https, которую предлагает хостинг-компания либо вручную попробовать предложенные варианты, пока не найдете подходящий вам:

Вариант 2

Вариант 3

Вариант 4

Не забывайте вместо «domain.com» прописывать ваш домен.

Вариант 5

Вариант 6

Вариант 7

После правильно прописанных настроек ваш сайт будет доступен исключительно по защищенному протоколу, это можно легко проверить, зайдя на любую страницу сайта и попробовав открыть данную страницу по обычному протоколу — должен произойти редирект на эту же самую страницу, но с https. Теперь, когда мы все правильно настроили — можно добавлять адрес сайта с https в Яндекс вебмастер и по истечении некоторого времени сайт будет полностью переиндексирован. Если у вас было значение Тиц, то он упадет до 0, а после нескольких апдейтов Яндекса вероятнее всего снова вернется к прежнему значению.

Также следует отметить, что на некоторые хостинги предлагают временные бесплатные SSL сертификаты «Let's Encrypt», которые позволяют настроить на вашем сайте https. Данный сертификат вполне подойдет большинству сайтов, если же на сайте присутствует онлайн-оплата — то предпочтение все-таки следует отдавать платным SSL сертификатам, которые имеют более «авторитетные» подписи.

evosites.ru

Как настроить htaccess для https в MODX Revo – Частный вебмастер

У каждого хостинг провайдера могут быть свои настройки и правила для волшебного файла htaccess. В этой статье описываются действия, проделанные на хостинге, который я предпочитаю для сайтов на MODX Revolution (Revo). Ссылка на хостинг в сайтбаре.

Получение сертификата SSL бесплатно

Начну с самого начала и расскажу как получить сертификат SSL. Если вы находитесь на том же хостинге, что и я, тогда сразу переходим на вкладку «Домены», выбираем свой домен и тут же появляется выбор получения сертификата SSL. Выбираем — получить и установить бесплатно!

После этих действий, вам на почту придет письмо, где будет сказано, что спустя определенный промежуток времени, сертификат будет установлен. Выжидаем и идем далее.

Настройка htaccess для https

Находясь в админке MODX Revo переходим в «Системные настройки», в фильтрах по разделу выбираем пункт «Система и сервер». Находим в списке: «Тип сервера» и заменяем http, на https

Далее: Заходим в корень сайта и открываем файл htaccess. Заменяем всё на следующий код:

RewriteEngine On RewriteBase / RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} ^www\. RewriteRule (.*) https://site.ru/$1 [L,R=301] # The Friendly URLs part RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] php_flag register_globals Off php_flag magic_quotes_gpc Off php_value magic_quotes_gpc Off <IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^(www\.)?site\.ru$ [NC] RewriteCond %{HTTP:X-Forwarded-Proto} !=https RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L] </IfModule>

ВАЖНО: Поменять site на свое доменное имя. Быть предельно внимательным, не удалить лишнее и не пропустить нужное.

На этом установку и настройку можно считать завершенной. Если я что то упустил, напишите в комментариях.

Видео урок

2017-10-16 10:25:00  Webersant

Комментарии

webersant.ru

Урок о том как в MODX Revo cклеить домен с www и без www

В прошлом уроке мы настроили ЧПУ MODX. Сегодня мы склеим домен с www и без www, на MODX сайте. Это небольшая статья касаемо SEO. Рекомендую это сделать, так как поисковые системы принимают сайты www.my-modx-site.ru и my-modx-site.ru за разные и индексируют их как 2 отдельных сайта, следовательно у этих сайтов будут отдельные PR и ТИЦ параметры.

Данная статья для тех у кого сайт находиться в интернете. на реальном хостинге. Если вы делаете сайт на веб-сервере (на пк), то пока что пропустите данную статью, к ней вернетесь после переноса сайта на реальный хостинг).

Склейка домена с www и без www, на MODX сайте

Для того, что бы склеить домен с www и без www на сайте под управлением MODX, вам необходимо в первую очередь переименовать файл ht.access в .htaccess который находиться в корне сайта (это мы делали в прошлом уроке). Далее открыть файл .htaccess (находится в корне сайта)

Там вы найдете правила для склейки.

1е правило для склейвания домена www.domain.com в domain.com

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

# Rewrite www.domain.com -> domain.com -- used with SEO Strict URLs plugin

#RewriteCond %{HTTP_HOST} .

#RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]

#RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

и 2е правило для склейвания домена domain.com в www.domain.com

#RewriteCond %{HTTP_HOST} !^$ #RewriteCond %{HTTP_HOST} !^www\. [NC] #RewriteCond %{HTTP_HOST} (.+)$ #RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

#RewriteCond %{HTTP_HOST} !^$

#RewriteCond %{HTTP_HOST} !^www\. [NC]

#RewriteCond %{HTTP_HOST} (.+)$

#RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

Лично мне не нравиться приставка www. в начале адреса сайта и я всегда склеиваю ее с названием домена.

Что бы это сделать, нужно просто раскомментировать нужное правило и изменить в нем адрес сайта. Например: у вашего сайта домен — my-modx-site.ru (он сейчас открывается по адресам www.my-modx-site.ru и my-modx-site.ru)  и вам как и мне не нравиться www. в начале, тогда правило будет выглядеть так (раскомментируем и правим 1е правило):

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

# Rewrite www.domain.com -> domain.com -- used with SEO Strict URLs plugin

RewriteCond %{HTTP_HOST} .

RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]

RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Мы убрали #.

Все теперь если перейти по адресу www.my-modx-site.ru, то вы попадете на my-modx-site.ru.

Если вам нужен сайт с www, тогда точно таким же образом производим манипуляции со вторым правилом (первое не трогаем).

Ну и сохраняем файл)

Теперь можно приступать к интеграции дизайна на MODX.

web-revenue.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта