6

Nginx: les redirections permanentes

Un petit mémo sur les redirections permanentes avec Nginx.
Les redirections d’URL sont importantes lors d’un changement de nom de domaine, redirection avec ou sans les www devant le nom de domaine pour avoir un bon début de réfencement naturel.
Avec le serveur Apache, il a été vue sur le blog 2 cas de figures:

Sous Nginx, la redirection d’url se passe directement dans le fichier de configuration du site.

Redirection de tous les sous domaines
server {
listen 80;
    server_name  www.memo-linux.com;
    rewrite ^(.*) https://memo-linux.com$1 permanent;
}
server {
listen 80;
    server_name  memo-linux.com;
#le reste de la configuration#
}

Ici, se trouve un inconvéniant: s’il existe des sous domaines pour du CDN, il sera aussi redirigé!

Redirection uniquement du www
if ($host = 'www.memo-linux.com' ) {
         rewrite  ^/(.*)$  https://memo-linux.com/$1  permanent;
      }

La redirection passe ici par un test de l’url.
Si l’url contient les www, alors elle sera redirigée vers le nom de domaine sans les 3 w.

Redirection de nom de domaine
set $rule_0 0;
if ($http_host ~ "^srv30.firstheberg.net$"){
        set $rule_0 1$rule_0;
}
if ($rule_0 = "1"){
        rewrite /(.*) https://memo-linux.com/ permanent;
}

La redirection d’un nom de domaine, peut être utilisée lors d’un changement de nom de domaine ou alors lorsque l’hébergeur lie l’adresse IP du serveur au nom de domaine gratuit fourni par ce dernier.
Attention!
Si la redirection n’est pas activée, pour les moteurs de recherches il y a contenu dupliqué et c’est très très mauvais pour le référencement naturel.

Partager l'article :





fred

"Dire que l'on s'en fiche du droit à la vie privée sous prétexte qu'on a rien à cacher, c'est comme déclarer que l'on se fiche du droit à la liberté d'expression sous prétexte qu'on a rien à dire." Edward Snowden

6 commentaires

  1. Bonjour,
    Nginx est vraiment un bon système de serveur, cela ne fait aucun doute. Cependant, son système de configuration forcément centralisé est à mon avis un de ses plus gros problèmes. Néanmoins, nous on l’utilise pour notre Raspberry sous Raspbian.

  2. Il est très vrai qu’un site dupliqué est néfaste à son positionnement dans les moteurs de recherche. Et si le cas du www / non-www est l’une des principales sources de duplication d’un site, il existe aussi le cas du /index.php sur la page d’accueil… Que je ne sais pas encore rediriger sous NGinx ! ;-)

    A vrai dire, j’ai un doute sur l’emploi du « server_name », mais je penche pour quelque chose du genre :
    server {
    listen 80;
    server_name www.memo-linux.com/index.php;
    rewrite ^(.*) http://memo-linux.com permanent;
    }

    Suis-je dans le vrai ?

  3. Je me permets de m’auto-corriger (la syntaxe est plus proche d’Apache que je ne le pensais)

    server {
    listen 80;
    rewrite ^/index.php$ http://memo-linux.com permanent;
    }

  4. oui là c’est bon mais seulement dans le cas ou tu héberges un seul site, sinon tu es obligé de renseigner le champ server_name.

  5. Comme cela ?

    server {
    listen 80;
    server_name www.memo-linux.com/index.php;
    rewrite ^/index.php$ http://memo-linux.com permanent;
    }

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *