Відповіді:
Ось повний посібник - Увімкніть повну підтримку 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]
Для ISS див. Цю відповідь на "Переповнення стека" .
Додайте це правило до початку .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 на своїх сайтах усіх клієнтів, і він працює дуже добре. Якщо ви не хочете змінювати код, просто встановіть цей плагін і налаштуйте його.