Solucionar problemas de redirección SSL

Este problema ha sido solucionado con la versión 2.5.6. Si habías solucionado antes el problema con las instrucciones aquí abajo (y tienes una versión más reciente de WP Rocket), ahora puedes eliminar el MU-plugin.

Solo necesitarás añadir las reglas de redirección directamente en tu fichero htaccess, como explicado en este artículo:  Desviar HTTP a HTTPS

Versión 2.5.5 y anteriores

A veces si usas el SSL en tu sitio web, puede presentarse un problema de redirección en cual verás un URL en tu navegador parecido a este:

https://example.com/wp-content/cache/wp-rocket/example.com/index.html_gzip

Puedes solucionar este problema añadendo el código siguiente en el fichero functions.php de tu tema. En cuanto hayas añadido esta porción de código, desactiva y reactiva WP Rocket.

add_filter( 'rocket_htaccess_marker', '__fix_wprocket_ssl_redirection' );
function __fix_wprocket_ssl_redirection( $marker ) {
	$redirection = '# Redirect http to https' . PHP_EOL;
	$redirection .= 'RewriteEngine On' . PHP_EOL;
	$redirection .= 'RewriteCond %{HTTPS} !on' . PHP_EOL;
	$redirection .= 'RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]' . PHP_EOL . PHP_EOL;
	$marker = $redirection . $marker;
	return $marker;
}

En alternativa, para asegurar un mejor mantenimiento, puedes arreglarlo también creando un must-use (mu) plugin: 

1) Crea una carpeta  mu-plugins dentro de wp-content 
2) Usa un editor de texto base y crea un nuevo fichero donde pegarás el código siguiente: 

<?php 
defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
/*
Plugin Name: Fix SSL Redirection with WP Rocket
Author: Jonathan (WP Rocket Team)
Author URI: http://wp-rocket.me
*/
add_filter( 'rocket_htaccess_marker', '__fix_wprocket_ssl_redirection' );
function __fix_wprocket_ssl_redirection( $marker ) {
        $redirection = '# Redirect http to https' . PHP_EOL;
        $redirection .= 'RewriteEngine On' . PHP_EOL;
        $redirection .= 'RewriteCond %{HTTPS} !on' . PHP_EOL;
        $redirection .= 'RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]' . PHP_EOL . PHP_EOL;
        $marker = $redirection . $marker;
        return $marker;
}

3) Guarda el fichero como: wprocket-sslfix.php (puedes elegir el nombre que quieras, esta es solamente una sugerencia)  

4) Sube este fichero a la carpeta mu-plugins  

5) Finalmente, vacía la caché WP Rocket

Compatibilidad Multi-sitio

Si estás usando una instalación multi-sitio, tienes que reemplazar esta línea:

$redirection .= 'RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]' . PHP_EOL . PHP_EOL;

con:

$redirection .= 'RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]' . PHP_EOL;
$redirection .= 'RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]' . PHP_EOL . PHP_EOL;

Asegúrate de reemplazar “example.com” con el nombre correcto del dominio de tu sitio web.

Compatibilidad con NGINX

Si estás usando un servidor NGINX server, usa este código: 

server {
listen      80;
server_name example.com;
rewrite ^ https://$server_name$request_uri? permanent;
}

Asegúrate de reemplazar “example.com” con el nombre correcto del dominio de tu sitio web.