[Résolu] SEO : redirection non-www vers www + http vers https

Bonjour,

Je me rends compte que mon hébergeur sert autant les pages de mon site en www qu’en non-www. Ce qui fait que la même page est considérée comme en double pour les moteurs de recherche. Et idem, les pages en HTTP ne redirigent pas vers les pages HTTPS, donc ça duplique aussi les pages.

J’ai mis ceci dans le fichier .htaccess :

RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP_HOST} ^benoitlabourdette.com 
RewriteRule (.*) https://www.benoitlabourdette.com/$1 [R=301,L]

Avec ce code, les deux redirections ne fonctionnent que pour la page d’accueil de mon site.

Auriez-vous une idée pour que cela fonctionne pour toutes les pages du site ?

Merci !

ce code générique devrait fonctionner :

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

Merci !
Ton code marche très bien pour la page d’accueil du site, mais pas pour les autres pages. Il y a quelque chose que je ne m’explique pas… Peut-être un conflit dans le fichier .htaccess (c’est pourtant le fichier standard de SPIP 4.2.5).
Je pose la question aussi à l’hébergeur (O2Switch).

Je me réponds à moi-même, car j’ai trouvé (sur cette page : SPIP Forums) :

Il fallait mettre ton code non pas à la fin du fichier .htaccess (ce que j’avais fait) mais au début, dans la partie « Réglages personnalisés ». Et maintenant, ça marche !

1 « J'aime »

j’avais ceci n’etant pas un spécialiste c’est quoi la diff entre les deux codes

```

Rediriger les pages en http vers celles en https

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Enlever le www

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1%{REQUEST_URI} [R=301,QSA,NC,L]