.htaccess 301 redirection ne fonctionne pas correctement. Besoin de forcer HTTPS

Nous aimerions forcer toutes les demandes sur notre site Web à utiliser le protocole HTTPS. Nous voulons juste remplacer le protocole de l’URL, le rest de l’URI peut restr le même. Tout fonctionne lorsque nous parcourons le site Web depuis la page d’accueil. Lorsque nous ouvrons une autre page qui n’est pas la page d’accueil en premier (par exemple, ourdomain.com/this-is-a-page/), nous ne sums pas redirigés vers HTTPS. Que dois-je changer sur mon fichier htaccess pour y parvenir?

Cela fonctionne (insère https): ourdomain.com

Cela ne fonctionne pas: ourdomain.com/this-is-a-page/

Merci!

code htaccess:

RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

Vous devez mettre votre règle de redirection avant votre règle de routage. Le moteur de réécriture se boucle pour que la règle de routage (qui achemine les éléments vers index.php ) soit exécutée en premier, le moteur de réécriture se boucle, puis la deuxième règle de redirection est appliquée, ce qui redirige la mauvaise chose . Essayer:

 RewriteEngine On RewriteBase / RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]