Actuellement, mon domaine www.example.com
est configuré pour forcer HTTPS et cela fonctionne. Le site lie également correctement tout ce qui est HTTPS. (il n'y a aucune occurrence de HTTP dans la base de données).
Toutefois, si vous visitez une sous-page, vous pouvez modifier l'URL en HTTP à nouveau, par exemple http://example.com/subpage/
, sans appliquer le protocole HTTPS.
J'ai cette règle dans mon .htaccess
à la racine:
RewriteEngine On
RewriteCond %{HTTP_Host} ^example.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://example.com/$1 [R,L]
Des idées quelle est la cause de ceci?
Pour rediriger globalement toutes vos pages vers HTTPS, ajoutez les lignes suivantes à votre .htaccess
:
# Globally force SSL.
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]
Cela devrait être placé directement après RewriteEngine on
si vous n'avez pas de réécriture précédente.
Essayez cette règle htaccess
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]