Forzare l’utilizzo https per tutto il sito con PHP Seo friendly 301

Può capitare di non poter modificare il file .htaccess oppure che le regole mod_rewrite per qualche strano motivo non funzionino, allora non rimane che usare PHP per forzare l’uso del HTTPS su tutto il sito.

Con questo piccolo controllo siamo in grado di forzare l’uso del protocollo HTTPS su tutto il sito. Questo codice funziona su tutte le piattaforme che usano PHP come linguaggio di sviluppo.

Per farlo funzionare su WordPress inserite il codice in cima al file header.php del vostro tema. Se usate un tema base come TwentyFifteen allora vi consiglio di crearvi un Tema Figlio per evitare di perdere le modifiche dopo un aggiornamento automatico.

 

<?php   
if (! isset($_SERVER['HTTPS']) or $_SERVER['HTTPS'] == 'off' ) {
    $redirect_url = "https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
    header("Location: $redirect_url", TRUE, 301);
    exit();
}
?>

oppure più semplicemente

<?php 

if(empty($_SERVER["HTTPS"]) || $_SERVER["HTTPS"] !== "on")
{
    header("Location: https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"], TRUE, 301);
    exit();
}
?>

Rispondi