Настройка Joomla! 3.x для работы по протоколу https

Перевод сайта для работы по протоколу https можно реализовать многими путями. Мои личные предпочтения: подключение к сервису cloudflare.com по многим и разным причинам.

Сам процесс «подключения» пропустим. Суть данного материала — не забыть манипуляции, которые нужно произвести с сайтом на cms Joomla! 3.x после обновления DNS у регистратора и настройки cloudflare.com

Поправка: для разных хостеров перечень «мероприятий» разный, мои сайты (в основном) находятся на valuehost.ru Для иных хостеров порядок и методы могут быть иными.

Порядок «мероприятий»

1. Правим файл uri.php

Для joomla! 3.4 и 3.5 — файл находится /libraries/joomla/uri/uri.php (можно поискать кусок кода (указанный ниже) в total commayder). А лучше, все же, обновить версию cms до новой стабильной версии.

Для joomla! 3.8 — файл находится /libraries/src/uri/uri.php

Исправить в коде, было

if (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off'))
{
$https = 's://';
}
else
{
$https = '://';
}

Стало

if (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off'))
{
$https = 's://';
}
else
{
$https = 's://';
}

Разница в символе s в предпоследней строке кода.

2. Правка .htaccess Чтобы особо «не париться» процитируем тупо кусок обязательного кода (имеющееся содержимое файла можно стереть полностью).

<IfModule autoindex>
   IndexIgnore *
</IfModule>
Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.php

<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteCond %{HTTPS} off
   RewriteRule ^(abc/def|ghi)(.*)/?$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]

RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]

   RewriteBase /
   RewriteCond %{HTTP_HOST} ^www\.novogireevo-kursy\.ru$ [NC]
   RewriteRule ^(.*)$ http://novogireevo-kursy.ru/$1 [R=301,L]
   RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
   RewriteRule ^index\.php$ http://novogireevo-kursy.ru/ [R=301,L]

   RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
   RewriteCond %{REQUEST_URI} !^/index\.php
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule .* index.php [L]
</IfModule>

Понятно, что в коде нужно изменить имя домена novogireevo-kursy на реально нужное в конкретном случае.

Понятно, что приведенный выше код организует переадресацию зеркал:

Сайт с www на без www и «склеивает» index.php

3. В файле configuration.php прописать url сайта (примерно 20-я строка):

public $live_site = 'https://novogireevo-kursy.ru';

Опять-таки, имя сайта поменять на нужное.

4. В robots.txt прописать Host с https, изменить url в sitemap (если сайт действующий, старый).

Host: https://novogireevo-kursy.ru
Sitemap: https://novogireevo-kursy.ru/Sitemap.xml

Вроде бы и всё. Обычно этого достаточно, хотя и не всегда. В последней версии (v.3.8.11) сайт работает и без правки по п.1 Не знаю почему и... не хочу знать.

Добавить комментарий


Планируете проект?

Заполните форму, наш специалист свяжется с вами для консультации (бесплатно), составит для вас персональное предложение.

Как к вам обращаться?
Сообщите корректный адрес электронной почты.
Не корректный номер.
Опишите кратко суть задачи: *
Необходимо подтвердить согласие с Политикой.

Планируете создание веб проекта?

Заполните форму и наш специалист свяжется с вами для консультации и составит для вас персональное предложение.

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

Получите бесплатную консультацию прямо сейчас!

Веб-студия «Reklama-No» специализируется на разработке сайтов для бизнеса. Для реализации задач вашего будущего/существующего сайта — мы подберем оптимальные решения. Подробно расскажем об особенностях создания веб-ресурса вашей тематики, попробуем ответить на все интересующие вас вопросы максимально полно, доступным языком, оперативно.
Мы понимаем желания/сомнения/проблемы наших клиентов и готовы дать полезные советы по работе с сайтом, опираясь на собственный много-много летний опыт.
Звоните нам и мы решим любые проблемы с вашим сайтом или задачи по его созданию. Хотя, лучше звоните сами.


+7(916) 107-51-99

Обсудите ваш проект со специалистом!

Оставьте свои контакты

Как к вам обращаться?
Сообщите корректный адрес электронной почты.
Не корректный номер.
Не корректный URL.
Пожалуйста, напишите ваше сообщение.
Необходимо принять Политику конфиденциальности
Получите бесплатную консультацию
Сделать заказ изготовление сайтов под ключ

Разработка сайтов «под ключ» любой сложности и назначения!

Обращаем ваше внимание на то, что данный интернет-сайт носит исключительно информационный характер и не является публичной офертой, определяемой положениями Статьи 437 (2) Гражданского кодекса РФ. Для получения подробной информации о стоимости указанных услуг, пожалуйста, обращайтесь по телефону: +7(916) 107-51-99 или через Форму обратной связи. Политика конфиденциальности / Соглашение об обработке персональных данных. This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

©2010–2022 веб-лаборатория «Reklama-No» | Создание, поддержка и продвижение сайтов