J'ai écrit un script pour forcer certaines sections du site à être accessibles via http ou https. Nous voulons que l'utilisateur soit redirigé vers la page http normale au cas où il atterrirait sur la version https par accident, et vice versa. Jusqu'ici, tout va bien, mais j'ai deux questions à vous poser.
-
Quel est l'en-tête d'état correct à envoyer lors du changement de protocole ? Je l'utilise actuellement dans les deux cas avant la redirection :
header('HTTP/1.1 301 Moved Permanently');
-
Quel est le meilleur moyen de détecter si nous utilisons https ?
// if ($_SERVER['SERVER_PORT'] == 443) /* EDIT: OK, not this? */ if (isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) === 'on'))
Quelque chose d'autre ? Les deux ?
Réponses aux commentaires :
-
Nous utilisons Apache, mais s'il existe une solution universelle, ce serait formidable.
-
Nous ne voulons pas utiliser
.htaccess
parce que les pages https requises sont "signalées" comme telles par le CMS que nous utilisons et dont il fait partie. Nous ne voulons pas "coder en dur" les URL dans un fichier.