Ответы:
Вот полное руководство - Включить полную поддержку SSL в Wordpress
Простая проверка is_ssl()
должна сделать это:
add_action( 'plugins_loaded', 'wpse_2718_force_ssl' );
function wpse_2718_force_ssl()
{
if ( is_ssl() )
return;
wp_redirect(
'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']
);
exit;
}
Но я бы сделал это в .htaccess, чтобы ловить изображения тоже:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Для МКС см. Этот ответ на переполнение стека .
Добавьте это правило в начало .htaccess:
# BEGIN Force SSL
# This should be the first rule before other rules
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</IfModule>
# END Force SSL
Это должно быть до правил WordPress.
Я использовал Really Simple SSL для всех своих клиентских сайтов, и он работает очень хорошо. Если вы не хотите изменять код, просто установите этот плагин и настройте его.