23 votes

apache redirige http vers https et www vers non www

En fait, ce que je veux, c'est rediriger toutes les requêtes pour utiliser HTTPS au lieu de http.

C'est ce que j'ai fait dans mon htaccess jusqu'à présent et cela a bien fonctionné : Code :

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 
</ifModule> 

Aujourd'hui, quelqu'un a remarqué qu'en allant à : http://www.example.com il redirige vers et montre une connexion non sécurisée.

Mon ssl est configuré pour un domaine non www : mydomain.com.

J'ai donc besoin de m'assurer que toutes les requêtes du site sont envoyées vers des sites non www et https : Cela fonctionne bien si je mets exemple.com il redirige vers https://example.com

mais avec www.example.com il va à htts://www.example.com et montre l'erreur

qu'est-ce que je dois ajouter à mon code pour rediriger les www vers les non www et ensuite vers les ssl ?

0voto

Niby Points 54

Regarde ça :

RewriteEngine On
RewriteCond %{HTTP_HOST}#%{HTTPS}s ^www\.([^#]+)#(?:off|on(s)) [NC]
RewriteRule ^ http%2://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

0voto

Jim Tippins Points 31

Cela redirigera tous vos sites web www vers non-www et les sécurisera si vous avez rempli le fichier de conf CERTBOT pour chaque domaine. Mettez ceci dans /etc/apache2/apache2.conf dans la section Directory /www :

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

Il n'est pas nécessaire de CERTBOTer un domaine www après l'insertion de ce code. Il suffit de faire le choix du domaine .com. Vous n'avez pas besoin de fichiers htaccess. Ils peuvent être limités par la sélection AllowOverride None.

N'oubliez pas de redémarrer apache.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X