Спойлер

четверг, 7 января 2016 г.

Перевод Wordpress на https

Генерируем сертификат на домен здесь - https://buy.wosign.com/free/

После подключения сертификата SSL сайт станет доступен по новому адресу, соответственно все внутренние ссылки и картинки, тоже будут иметь другой адрес.
http://site.ru/... — старый адрес сайта
https://site.ru/... — новый адрес сайта

Прежде чем приступить к редактированию статей, по средством плагинов или правки кода базы данных, обязательно сделайте резервную копию базы данных и файлов сайта.
Плагин. Самый простой способ, чтобы заменить все ссылки на новые WordPress сайтов, надо скачать специальный плагин Velvet Blues Update URLs и в его настройках воспользоваться строкой замены URL адресов.


Также нужно  поставить плагин Wordpress Force HTTPS для 301 редиректа


На вкладке https://site.ru/wp-admin/options-general.php  сменить URL сайта на https://site.com

Проверить корректность 301 редиректа на https - http://www.redirect-checker.org/index.php

Проверить корректность установки сертификата можно по ссылке:
https://www.ssllabs.com/ssltest/

-----------------------------------------------------

Если после всех вышеуказанных действий, появляется ошибка:
«Неверное перенаправление на странице. Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится. Эта проблема может возникать при отключении или запрещении принятия кук.»,

то, вероятнее всего, на сервере стоит nginx, добавьте в nginx.conf след. Строку:

fastcgi_param HTTPS on;


----------------------------------------------------

Также  править базу можно запросами:


Или
Правка базы данных. Избавиться от старых ссылок сайта с заменой на новые возможно не только за счет плагина, но и с помощью команд управляя базой данных SQL через phpMyAdmin.

Несколько команд по замене ссылок:

#Замена ссылок в полях: Адрес WordPress (URL) и Адрес сайта (URL)

UPDATE wp_options SET option_value = replace(option_value, 'http://старый_сайт','https://новый_сайт.ru') WHERE option_name = 'home' OR option_name = 'siteurl';

#Меняет все URL адреса страниц сайта на новые

UPDATE wp_posts SET guid = replace(guid, 'http://старый_сайт','https://новый_сайт.ru');

#Замена всех ссылок, которые находятся в тексте статей

UPDATE wp_posts SET post_content = replace(post_content, 'http://старый_сайт','https://новый_сайт.ru');
--------------------------------------------------------------------------------------------- Если у вас на сервере стоит nginx, то иногда необходимо добавить в конфиг след. строчку: fastcgi_param HTTPS on; Вот более подробное описание: http://forum.nginx.org/read.php?2,4949,4956#msg-4956 Другой способ заключается в том, чтобы отключить принудительное перенаправление на https в админке. Для этого нужно в файле config.php удалить определение константы S2_FORCE_ADMIN_HTTPS. Проблема вызвана фактической поддержкой сервером https (движок ее распознал) и отсутствием информирования об этом php-скриптов. Я подумаю, как исправить установочный скрипт, чтобы избежать такого зацикливания.

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

Отправить комментарий