Respuestas:
Aquí hay una guía completa: habilite el soporte completo para SSL en Wordpress
Un simple chequeo para is_ssl()
debería hacerlo:
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;
}
Pero también haría esto en .htaccess para capturar imágenes:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Para ISS, vea esta respuesta en Stack Overflow .
Agregue esta regla a la parte superior de .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
Esto debería ser antes de las reglas de WordPress.
He usado SSL realmente simple en todos mis sitios de clientes y funciona muy bien. Si no desea modificar el código, simplemente instale este complemento y configúrelo.