Привет всем!
Сегодня наконец-то нашла правильное решение для установки ssl-сертификата на сайт. Также в процессе установила все редиректы. Делюсь своей инструкцией, если вы вдруг захотели купить ssl-сертификат "
с нуля".
Домены (обозначение - сайт1) я покупаю на одном сайте, а
хостинг (обозначение - сайт2) на другом (мне так выгоднее).
Недавно увидела акцию на сайте1, по которой можно было
бесплатно приобрести ssl-сертификат.
- Я заказала на сайте1 сертификат.
- Через некоторое время мне пришло письмо "Для получения сертификата необходимо добавить в зону домена запись типа TXT...".
- Я зашла на сайт2 и в "Домены" - "Созданные записи" добавила присланную мне запись.
Внимание! У меня была ошибка: вместо site.ru. в поле "Имя" я прописала адрес без точки в конце. Здесь надо быть внимательнее.
- Опять прошло время и мне с сайта1 на почту пришли:
1. Сертификат
2. Корневой сертификат
3. Промежуточный сертификат
4. Запрос на получение сертификата
5. Приватный ключ
- Эти данные надо было добавить на сайт2 в раздел "Управление" - "Сертификаты".
Но! Сертификат, корневой и промежуточный сертификаты загружаются в поле "тело" или соединяются в один файл и загружаются единым файлом, а остальное загружать туда не надо. Приватный ключ, следовательно, загружается в поле "ключа".
- Далее надо было сменить А-запись для домена и прописать выделенный IP. Я купила выделенный IP и в "Доменах" - "Созданные записи" заменила IP.
Ура! Я приобрела сертификат. Но на этом все не закончилось.
Надо было
настроить редирект с http на httpsМоя инструкция (
перед всем сделайте копию сайта!):
1. В файле configuration.php я поменяла/прописала
public $live_site = 'https://site.ru';
public $force_ssl = '2';без черточек в конце адреса!2. В Joomla изменила "Система" - "Общие настройки" - "Сервер" - "Включить SSL для всего сайта"
3. В файле /libraries/joomla/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://';
}
4. Прописала нужные редиректы в файле .htaccess.
Внимание! Про свои настройки редиректа узнавайте на своем хостинге. Они могут отличаться от "стандартных".
К примеру, на моем:
http меняем на httpsRewriteEngine On
RewriteCond %{HTTP:Front-End-Https} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
site.ru меняем на www.site.ruRewriteEngine on
RewriteCond %{HTTP_HOST} ^yourdomain\.ru$ [NC]
RewriteRule ^(.*)$ http://www.yourdomain.ru/$1 [R=301,L]
RewriteRule http://yourdomain.ru http://www.yourdomain.ru [R=301,L]
Внимание! Если у вас уже прописана строка RewriteEngine On, то ее дублировать нельзя.
Итого у меня получилось:https://www.site.ruПримечаниеНе забудьте теперь перенести сайт в ЯндексВэбмастере (если есть) и исправить
карту сайта и
хост в
robots.txtМой пример robots.txt (чистый роботс+sitemap+host):
User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/
Sitemap: https://www.site.ru/index.php?...=1
Host: https://www.site.ru/
Пример моего сайтаСпасибо за внимание;)