Solucionar la redirección non-www

En este artículo

Atención! No olvides reemplazar todo lo que aparece en los ejemplos de código de este artículo como example.comexample\.com con tu propio nombre de dominio!

Redirección non-www → www

Si tienes un problema con la redirección de la versión non-www a  la www de tu URL, usa la seguente solución a través de un MU plugin:

1
Crea una carpeta llamada  mu-plugins dentro de  wp-content.
En caso de que la carpeta mu-plugins exista ya, no es necesario crearla otra vez, usa la existente..
2

Usando un editor de texto básico  crea un nuevo fichero e introduce estas lineas de código:

<?php
defined( 'ABSPATH' ) or die( 'Cheatin&#8217; uh?' );
/**
 * Plugin Name: WP Rocket | Fix non-www to www redirection
 * Description: Fixes redirection from non-www to www URLs.
 * Author:      your name here
 * License:     GNU General Public License v3 or later
 * License URI: http://www.gnu.org/licenses/gpl-3.0.html
 */
add_filter( 'before_rocket_htaccess_rules', '__fix_wprocket_non_www_redirection' );
function __fix_wprocket_non_www_redirection( $marker ) {
	$redirection = '# Redirect non-www to www' . PHP_EOL;
	$redirection .= 'RewriteEngine On' . PHP_EOL;
	$redirection .= 'RewriteCond %{HTTP_HOST} ^example\.com [NC]' . PHP_EOL;
	$redirection .= 'RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]' . PHP_EOL . PHP_EOL;
	$marker = $redirection . $marker;
	return $marker;
}
	
3
Guarda el archivo como  wp-rocket-non-www-fix.php
4
Sube el archivo a la carpeta mu-plugins que has creado al punto 1.
5

Finalmente, asegúrate de desactivar y re-activar WP Rocket.

Si prefieres añadir el código directamente al fichero functions.php de tu tema, puedes usar esta porción de código: 

add_filter( 'before_rocket_htaccess_rules', '__fix_wprocket_non_www_redirection' );
function __fix_wprocket_non_www_redirection( $marker ) {
	$redirection = '# Redirect non-www to www' . PHP_EOL;
	$redirection .= 'RewriteEngine On' . PHP_EOL;
	$redirection .= 'RewriteCond %{HTTP_HOST} ^example\.com [NC]' . PHP_EOL;
	$redirection .= 'RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]' . PHP_EOL . PHP_EOL;
	$marker = $redirection . $marker;
	return $marker;
}

Recuerda de desactivar y reactivar WP Rocket después de haber añadido este código.

Redirección www → non-www

Si necesitas aplicar la regal opuesta (de www a non-www), usa este código para tu MU plugin:

<?php
defined( 'ABSPATH' ) or die( 'Cheatin&#8217; uh?' );
/**
 * Plugin Name: WP Rocket | Fix www to non-www redirection
 * Description: Fixes redirection from www to non-www URLs.
 * Author:      your name here
 * License:     GNU General Public License v3 or later
 * License URI: http://www.gnu.org/licenses/gpl-3.0.html
 */
add_filter( 'before_rocket_htaccess_rules', '__fix_wprocket_non_www_redirection' );
function __fix_wprocket_non_www_redirection( $marker ) {
	$redirection = '# Redirect www to non-www' . PHP_EOL;
	$redirection .= 'RewriteEngine On' . PHP_EOL;
	$redirection .= 'RewriteCond %{HTTP_HOST} ^www.example\.com [NC]' . PHP_EOL;
	$redirection .= 'RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]' . PHP_EOL . PHP_EOL;
	$marker = $redirection . $marker;
	return $marker;
}

O este al archivo functions.php:

add_filter( 'before_rocket_htaccess_rules', '__fix_wprocket_non_www_redirection' );
function __fix_wprocket_non_www_redirection( $marker ) {
	$redirection = '# Redirect www to non-www' . PHP_EOL;
	$redirection .= 'RewriteEngine On' . PHP_EOL;
	$redirection .= 'RewriteCond %{HTTP_HOST} ^www.example\.com [NC]' . PHP_EOL;
	$redirection .= 'RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]' . PHP_EOL . PHP_EOL;
	$marker = $redirection . $marker;
	return $marker;
}

Recuerda de desactivar y reactivar WP Rocket después de haber añadido este código.