dato che con l'https bisogna rinunciare ad alcune cose come la cache e varnish ecc (parlo di hosting con cpanel...) ho pensato di ritornare ad http lasciando https solo nel backend e in alcune pagine (contact, registrati, attiva...).
Per fissare l'intero frontend ho usato il codice:
Codice PHP:
<?php
/**
* Plugin Name: fix_https_only_backend
* Description: fix_https_only_backend
* Version: 1.0
* Author: ...
*/
defined( 'ABSPATH' ) or exit;
/**
* Redirect WordPress front end https URLs to http without a plugin
*
* Necessary when running forced SSL in admin and you don't want links to the front end to remain https.
*
* @link http://blackhillswebworks.com/?p=5088
*/
add_action( 'template_redirect', 'bhww_ssl_template_redirect', 1 );
function bhww_ssl_template_redirect() {
if ( is_ssl() && ! is_admin() ) {
if ( 0 === strpos( $_SERVER['REQUEST_URI'], 'http' ) ) {
wp_redirect( preg_replace( '|^https://|', 'http://', $_SERVER['REQUEST_URI'] ), 301 );
exit();
} else {
wp_redirect( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 301 );
exit();
}
}
}
e posso facilmente escludere determinate pagine con:
Codice PHP:
if ( is_ssl() && ! is_admin() && ! is_page( array( .... )) ) {
il problema è che in quelle pagine specifiche, se vado in http, non fa redirect ad https e se vado in https manualmente ecco che tutti i link (menu ecc) assumono https nel prefisso.
Non so se sono stato abbastanza chiaro, spero di sì :P
Consigli?
Si può sistemare quel pezzo di codice e far sì che faccia quanto desiderato?
Grazie anticipatamente,
S.N.