Vous rencontrez des problèmes avec la double redirection 301 sur votre domaine avec WWW? Certaines pages ne redirigent pas de HTTP vers HTTPS? Dans cet article, je vais vous donner un petit conseil sur la façon de résoudre ce problème.
Cette fonction est la solution à divers problèmes tels que l'absence de redirection, l'accès au site via la version http, des erreurs de multiples redirections et bien d'autres.
Double redirection 301 sur [http: // www.]
Aujourd'hui, j'ai vérifié le SSL de mon site sur httpstatus.io et je me suis retrouvé avec deux redirections 301 sur ma version avec www et sans https du site. Cela peut sembler insignifiant mais c'est strictement important pour le SEO de votre site.
Comme vous pouvez le voir dans l'image ci-dessous, l'URL du site Web avec HTTP: // WWW a deux redirections 301, probablement une pour la version HTTPS et une pour la version non-WWW du site Web.
Pour résoudre ce problème, c'est assez simple. J'utilise Cloudflare, donc j'ai accédé à mon tableau de bord et à mon domaine sur Cloudflare et je suis allé dans l'onglet Page Rules.
Là, j'ai créé une redirection unique de la version www directement vers la version https sans www. Cette règle, en plus de résoudre le problème, élimine dans la plupart des cas la nécessité d'utiliser un plugin ou une règle de redirection sur le serveur nginx ou dans le .htaccess d'apache.
En accédant aux Page Rules, il suffit de créer une nouvelle règle redirigeant www.meusite.com/* vers https://meusite.com/$1 en utilisant la règle de redirection 301.
Les valeurs [*] et [$1] sont importantes car elles identifient quelle page l'utilisateur accède et redirigent directement vers la version https de cette page au lieu de rediriger vers la page d'accueil.
Voyez comment j'ai configuré mon domaine ci-dessous. Faites de même, puis cliquez sur Enregistrer et effacez votre cache CloudFlare. Ainsi, la double redirection cessera d'exister, ne laissant qu'un 301.
Nous vous recommandons également de lire notre Guide sur le SEO et les outils.
Redirection par fichier .HTACCESS
La même règle de redirection peut être appliquée directement depuis le serveur, si vous n'utilisez pas Cloudflare. Bien que nous vous recommandons vivement d'utiliser un CDN et de le faire dessus.
La règle à appliquer au fichier .HTACCESS sera ci-dessous. N'oubliez pas de ne faire cela que si vous n'utilisez pas Cloudflare.
<IfModule mod_rewrite.c
>
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.seusite\.com [NC]
RewriteRule (.*) https://seusite.com/$1 [L,R=301]
</IfModule
>
Redirection de WWW sur Nginx
Si votre serveur est purement Nginx comme le mien, il est sans aucun doute beaucoup plus facile d'utiliser CloudFlare et le premier tutoriel. Au cas où vous seriez encore têtu, je laisserai une configuration pour Nginx, mais je ne passerai pas mon temps à l'expliquer, puisque je ne suis pas un professionnel de Nginx Config:
#=========================#
# domain settings #
#=========================#
# Catch http://domain, and http://www.domain
server {
listen 80;
server_name www.domain domain;
# Redirect to https://domain
return 301 https://domain$request_uri;
}
# Catch https://www.domain
server {
listen 443;
server_name www.domain;
# Redirect to https://domain
return 301 https://domain$request_uri;
}
# Catch https://domain
server {
listen 443;
server_name domain;
root /usr/share/nginx/domain;
index index.html index.htm;
ssl on;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
ssl_prefer_server_ciphers on;
location / {
try_files $uri $uri/ =404;
}
}
J'espère que les conseils de cet article résoudront votre problème de double redirection ou d'absence de redirection WWW. Si vous avez aimé, partagez-le avec vos amis, ne laissez pas leur site avoir une double redirection et nuire à leur SEO.