Se você deseja forçar os acessos de um ambiente para https, pode utilizar o script abaixo.
Ele é de fácil adaptação para qualquer aplicação. Lembre-se, como trabalhamos com a função, ele deverá ser uma das chamadas da requisição.
Caso o browser tenha algum output antes de usar essa função, irá imprimir o erro “Erro: “Cannot modify header information – headers already sent” no PHP“.
<?php
if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off'
|| $_SERVER['SERVER_PORT'] == 443) {
$params = (!empty($_SERVER['REQUEST_URI'])) ? '?' . $_SERVER['REQUEST_URI'] : '';
header( 'Location: https://' . $_SERVER['HTTP_HOST'] . $params );
}