<?php
if(!isset($_SERVER["HTTPS"]) || $_SERVER["HTTPS"] != "on")
{
error_reporting(E_ALL | E_WARNING | E_NOTICE);
ini_set('display_errors', TRUE);
header("Location: https://somesite.com/it");
die('should have redirected by now');
}
?>
Ceci est le code que j'utilise, il n'y a pas d'espace ou quoi que ce soit avant la première ligne de code.php En-tête déjà envoyé en première ligne
Retours: Avertissement: Impossible de modifier les informations d'en-tête - têtes déjà envoyés par (sortie commencé à /home/somesite/public_html/it/test.php:1) dans/home/unsite/public_html/iq/test. php sur la ligne 8 aurait dû rediriger maintenant
Pourquoi dit-on que j'ai envoyé des en-têtes sur la première ligne? Comment puis-je réparer ça?
Vous ne pouvez pas envoyer d'en-têtes après 'flush()'. – GrumpyCrouton
Cela ressemble à une meilleure réponse que j'ai donné, jetez un oeil à https://stackoverflow.com/questions/4398951/force-ssl-https-using-htaccess-and-mod-rewrite – RiggsFolly
Cette réponse a travaillé pour mettre les choses en https, mais je dois toujours être en mesure de changer les en-têtes. Puisqu'il n'y a rien de mal avec mon code, qu'est-ce qui ferait que les en-têtes ne fonctionneraient pas comme ils sont? –