Comment rediriger des URLs en utilisant NGINX ⋆ ALexHost SRL

Testez vos compétences sur tous nos services d'hébergement et bénéficiez de 15% de réduction!.

Utilisez le code à la caisse :

Skills
27.11.2024

Comment rediriger des URLs en utilisant NGINX

La gestion efficace du trafic web commence par une solution d’hébergement sécurisée et fiable. Les serveurs dédiés d’AlexHost fournissent l’environnement parfait pour faire fonctionner NGINX et mettre en place des règles de redirection d’URL robustes. Avec des performances élevées, un accès racine complet et une sécurité de niveau entreprise, AlexHost s’assure que votre serveur web fonctionne de manière transparente, que vous migriez des domaines, appliquiez le HTTPS ou optimisiez le flux de trafic.

La redirection d’URL est un outil crucial pour la gestion du trafic web, l’amélioration de l’expérience utilisateur et le respect des meilleures pratiques de référencement. Qu’il s’agisse de migrer un site web, de restructurer du contenu ou simplement de réparer des liens cassés, la redirection d’URL permet de s’assurer que les utilisateurs et les moteurs de recherche sont envoyés au bon endroit. Dans cet article, nous allons voir comment rediriger des URL à l’aide de NGINX, l’un des serveurs web les plus utilisés aujourd’hui.

Comprendre la redirection d’URL

Avant de plonger dans les aspects techniques, décrivons brièvement ce qu’est la redirection d’URL et pourquoi elle est importante. La redirection d’URL est un moyen de transférer une URL vers une autre. Ainsi, les utilisateurs qui visitent l’ancienne URL sont automatiquement renvoyés vers la nouvelle sans rencontrer d’erreur 404. Il existe différents types de redirections :

  1. 301 Permanent Redirect – Indique que l’URL a été déplacée de façon permanente.
  2. 302 Temporary Redirect – Indique que l’URL a été temporairement déplacée.
  3. 307 Temporary Redirect – Version plus spécifique de 302 utilisée dans certains cas.
  4. 308 Permanent Redirect – Similaire à 301 mais conserve la méthode de demande (par exemple, POST) pendant la redirection.

NGINX, avec ses fichiers de configuration simples et ses performances élevées, est un excellent outil pour gérer efficacement les redirections.

Pré-requis

Avant de procéder à la redirection d’URL à l’aide de NGINX, vous aurez besoin des éléments suivants :

  • NGINX installé et fonctionnant sur votre serveur
  • Accès root ou sudo au serveur
  • Une compréhension de base des fichiers de configuration de NGINX
  • Un éditeur de texte comme
    nano
    ou
    vim
    installé

Étape 1 : Accéder aux fichiers de configuration de NGINX

La première étape est d’accéder et de modifier le fichier de configuration NGINX où sont définis les blocs de votre serveur. Selon votre système, les fichiers de configuration NGINX sont généralement stockés dans :

  • /etc/nginx/nginx.conf (configuration principale)
  • /etc/nginx/sites-available/default (configurations de sites spécifiques)

Pour éditer le fichier de configuration d’un site spécifique, utilisez la commande suivante :

sudo nano /etc/nginx/sites-available/default

Cette commande ouvrira le fichier de configuration du site par défaut dans l’éditeur de texte

nano
. Vous pouvez également spécifier le fichier de configuration d’un site web spécifique hébergé sur votre serveur.

Étape 2 : Redirection de base à l’aide de la directive
return

L’une des façons les plus simples de rediriger une URL dans NGINX est d’utiliser la directive

return
. Voici un exemple basique de comment implémenter une redirection 301 (permanente) pour une seule page :

server {
listen 80 ;
server_name www.old-site.com;
location /old-page {
return 301 http://www.new-site.com/new-page ;
}
}

Cette configuration attend les requêtes sur le port 80 (HTTP) et recherche l’URL

/old-page
. Lorsqu’un utilisateur visite cette URL, il est redirigé en permanence vers
http://www.new-site.com/new-page
.

Étape 3 : Utilisation de la directive de
réécriture
pour les redirections avancées

Pour des scénarios de redirection plus complexes, la directive

rewrite
de NGINX peut être extrêmement utile. Elle vous permet de faire correspondre des modèles d’URL à l’aide d’expressions régulières et de les transformer si nécessaire.

Exemple : Rediriger toutes les pages vers un nouveau domaine

Si vous avez déplacé un site entier vers un nouveau domaine et que vous souhaitez que tout le trafic soit redirigé, utilisez la configuration suivante :

server {
listen 80 ;
server_name www.old-site.com;
rewrite ^(.*)$ http://www.new-site.com$1 permanent ;
}

Ici, la directive

rewrite
prend toute requête entrante
(.*)
et l’ajoute au nouveau domaine
$1
, suivi d’une redirection permanente 301. Cela garantit que toutes les pages de l’ancien site pointeront vers les pages correspondantes du nouveau site.

Exemple : Redirection de HTTP vers HTTPS

La meilleure pratique consiste à rediriger tout le trafic HTTP vers HTTPS à des fins de sécurité. Vous pouvez facilement y parvenir avec la configuration suivante :

server {
listen 80 ;
nom_du_serveur www.example.com;
return 301 https://$nom_du_serveur$request_uri ;
}

Cette directive garantit que toute requête adressée au site via HTTP est redirigée en permanence vers HTTPS. La variable

$server_name
remplit automatiquement votre domaine, tandis que
$request_uri
conserve le chemin et la chaîne de requête intacts.

Étape 4 : Redirections conditionnelles

NGINX permet également des redirections conditionnelles basées sur des facteurs tels que les agents utilisateurs, les cookies ou les adresses IP. Voici un exemple de redirection d’utilisateurs en fonction de leur agent utilisateur (par exemple, rediriger les utilisateurs mobiles vers une version mobile du site) :

if ($http_user_agent ~* "(Android|iPhone|iPad)") {
rewrite ^/$ http://m.example.com redirect ;
}

Dans cet exemple, si l’agent utilisateur contient la chaîne “Android”, “iPhone” ou “iPad”, l’utilisateur est redirigé vers la version mobile du site.

Étape 5 : Tester votre configuration

Après avoir apporté des modifications à votre configuration NGINX, il est essentiel de tester les erreurs de syntaxe avant de redémarrer le serveur. Utilisez la commande suivante pour vérifier votre configuration :

sudo nginx -t

Si le test est réussi, vous verrez un message du type :

nginx : le test du fichier de configuration /etc/nginx/nginx.conf est réussi

Étape 6 : Recharger NGINX

Une fois votre configuration validée, appliquez les changements en rechargeant NGINX :

sudo systemctl reload nginx

Cela rechargera le service NGINX et appliquera vos nouvelles règles de redirection sans interrompre les connexions actives.

Étape 7 : Surveillance et débogage

Il est important de surveiller les journaux de NGINX pour s’assurer que vos règles de redirection fonctionnent comme prévu. Les fichiers de logs sont généralement situés dans :

  • /var/log/nginx/access.log – Il contient les détails de chaque requête.
  • /var/log/nginx/error.log – Il enregistre toutes les erreurs rencontrées.

Si votre redirection ne fonctionne pas comme prévu, ces journaux peuvent vous aider à identifier les problèmes.

Cas d’utilisation courants de la redirection d’URL

Voici quelques scénarios courants dans lesquels la redirection d’URL peut s’avérer utile :

  1. Migration vers un nouveau domaine: Redirection de toutes les URL de l’ancien domaine vers le nouveau domaine afin de maintenir le trafic et les classements SEO.
  2. Modification de la structure d’une URL: Redirigez les anciennes URL vers les nouvelles après avoir restructuré votre site web afin d’éviter les erreurs 404.
  3. Appliquer le protocole HTTPS: rediriger toutes les requêtes HTTP vers le protocole HTTPS pour améliorer la sécurité et la confiance.
  4. Redirection vers une page spécifique: Transférez le trafic d’une page à une autre si la page d’origine est obsolète ou déplacée.

Conclusion

La redirection d’URL à l’aide de NGINX est un outil puissant pour gérer le trafic web et assurer une expérience utilisateur fluide. Qu’il s’agisse de migrer un site, d’appliquer le protocole HTTPS ou de restructurer des URL, NGINX facilite la configuration et la gestion des redirections. En suivant ce guide, vous pouvez configurer des règles de redirection d’URL simples et avancées, en vous assurant que les utilisateurs et les moteurs de recherche sont dirigés au bon endroit.

Testez vos compétences sur tous nos services d'hébergement et bénéficiez de 15% de réduction!.

Utilisez le code à la caisse :

Skills