Порядок перехода на защищённый протокол HTTPS для сайта на WordPress выглядит следующим образом:
1. Проверяем доступность сайта по новому протоколу — вводим в адресную строку адрес сайта вида https://адрес_сайта.ру.
Если сайт открылся — переходим к следующему пункту, если нет — идем разбираться с протоколом, что-то пошло не так на шаге его установки.
2. Открываем файл .htaccess и в самое начало добавляем:
RewriteCond %{HTTPS} off RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] <ifModule mod_headers.c> Header always set Content-Security-Policy "upgrade-insecure-requests;" </ifModule>
3. Файл wp-config.php. В самое начало файла добавляем:
define( 'FORCE_SSL_ADMIN', true ); if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) $_SERVER['HTTPS']='on'; $_SERVER['HTTPS'] = 'on'; /* SSL в панели администратора / define('FORCE_SSL_LOGIN', true); / SSL в панели входа */ define('FORCE_SSL_ADMIN', true);
4. В самую последнюю очередь — меняем адрес сайта в настойках в административной панели:
Общие настройки -> Адрес WordPress (URL)
Общие настройки -> Адрес сайта (URL)
Прописываем в указанных полях адрес сайта вида https://адрес_сайта.ру.

Всё, переезд завершён.
Теперь давайте рассмотрим некоторые проблемы, которые могут возникнуть в процессе переезда вашего сайта на защищённый протокол.
1. Поехала вёрстка
Чтобы избежать этого, в файл .htaccess мы добавили вот эти строки:
<ifModule mod_headers.c> Header always set Content-Security-Policy "upgrade-insecure-requests;" </ifModule>
Если верстка поехала, значит либо запись произведена с ошибкой — скопируйте код ещё раз, посмотрите в блокноте, не появились ли лишние символы или кавычки, либо была вставлена не в начало файла (это важно!), а в его конец — это достаточно распространённая ошибка.
2. Нет доступа к админке
Например, ошибка типа «у вас недостаточно полномочий для доступа к этой странице», или «сайт выполнил переадресацию слишком много раз», или админка не открывается вовсе.
Вероятно, вы где-то нарушили порядок действий, или прописали излишнее количество правил в файле .htaccess.
Сделайте копию Вашего старого .htaccess. Скачайте дефолтный .htaccess для сайта на WordPress и в самое начало (это важно!) добавьте:
RewriteCond %{HTTPS} off RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] <ifModule mod_headers.c> Header always set Content-Security-Policy "upgrade-insecure-requests;" </ifModule>
Если проблема решилась — постепенно добавляйте нужные Вам записи из старого .htaccess и тестируйте — это поможет исключить правило, которое провоцирует проблему.
Решение проблемы «у вас недостаточно полномочий для доступа к этой странице» смотрите в статье У вас недостаточно полномочий для доступа к этой странице.
0 комментариев