htaccess pour dépouiller www et forcer SSL

J’ai ce que je crois être un fichier .htaccess plutôt bien conçu:

RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L,NE] RewriteCond %{HTTPS} off RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

Cela me dit de “dépouiller le site Web de l’URL et de forcer https”. Et cela fonctionne très bien, sauf pour ceux qui saisissent https://www.somedomain.com/ . Ces personnes reçoivent un avertissement indiquant qu’il ya un problème avec le certificate de site. Il semble que le www ne soit pas dépouillé dans ce cas particulier.

Vous pouvez réellement combiner les deux règles en une seule:

 RewriteCond %{HTTP_HOST} ^www\. [NC,OR] RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] RewriteRule ^ https://%1%{REQUEST_URI} [R=302,L,NE] 

Assurez-vous ensuite de vider le cache de votre navigateur pour le tester.

Cependant, rappelez-vous simplement que la négociation de certificate entre le serveur Web et le navigateur se produit avant que mod_rewrite soit appelé.