Bonsoir,

je voudrais forcer la navigation à se faire en https.

En php, cela pourrais être :

if( $_SERVER["HTTP_X_FORWARDED_PROTO"] == "http" ) { header( "Location: https://$_SERVER[HTTP_HOST]" ) ; die ; }

Mais il faudrait le mettre dans tous les fichiers, ce qui ne convient pas.

Aussi, je voudrais le faire, dans .htaccess. Voilà ce que j'ai écrit :

DirectoryIndex .dbbroot.php 
#
AuthType Basic
AuthName "Privat"
AuthUserFile "/home/doobeex/Perso/.htpasswd"
Require user dugenou
#
RewriteEngine on
RewriteRule ^http [decu].*) https:$1

Manifestement, la dernière ligne ne fonctionne pas. Un commentaire ?
Bonjour dagobert,

Si tu as accès au fichier de configuration de ton virtualhost, Apache recommande de faire une redirection dans la définition de ton vhost :
https://httpd.apache.org/docs/2.4/fr/rewrite/avoid.html#redirect

Si tu n'as pas accès à ce fichier, tu peux effectivement utiliser le mod_rewrite dans le fichier .htaccess.
Essaye avec cette règle :
RewriteEngine on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Administrateur
J'ajouterais la condition de n'appliquer cette règle que lorsqu'on est pas déjà en HTTPS.

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
Meilleure solution
Bonjour !!!

Différentes hypothèses ne me donnant pas satisfaction, j'en suis revenu au basique :
<base href="https://www.example.com/">


Bon mois d'août !