Mar 10, 2026
Chaimaa C.
9minutes de lecture
Une redirection NGINX est une configuration qui achemine le trafic web d’une URL vers une autre, afin que les visiteurs et les moteurs de recherche puissent arriver à la bonne destination. Les redirections sont importantes pour maintenir le classement SEO, éviter les doublons de contenu et améliorer l’expérience utilisateur.
NGINX prend en charge deux types de redirections : les redirections permanentes (HTTP 301), qui indiquent des changements d’URL permanents, et les redirections temporaires (HTTP 302), qui sont utilisées pour des redirections à court terme.
Dans cet article, nous vous guiderons dans la configuration de redirections temporaires et permanentes dans NGINX. Vous apprendrez à utiliser des directives telles que return, rewrite et try_files, à explorer des cas d’utilisation courants et à mettre en œuvre les meilleures pratiques pour éviter des problèmes tels que les boucles de redirection.
À la fin, vous serez en mesure d’affiner la configuration de votre site web pour une meilleure gestion du trafic.
Avant de configurer des redirections d’URL dans NGINX, assurez-vous que votre serveur répond aux exigences suivantes :
sudo apt update sudo apt install nginx
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

Pour configurer les redirections NGINX, vous utiliserez trois directives clés : return, rewrite et try_files. Chacune d’entre elles a un objectif spécifique pour une redirection URL efficace.
La directive return est le moyen le plus simple et le plus efficace de créer des redirections. Elle est idéale pour des scénarios tels que la redirection d’une URL ou d’un nom de domaine entier. Cette directive traite également les redirections plus rapidement, car elle évite toute complexité inutile.
return arrête immédiatement le traitement des instructions suivantes et envoie le code d’état HTTP spécifié et l’URL de destination au client. Sa syntaxe de base est la suivante :
return [status code] [URL];
Par exemple, pour rediriger d’un ancien nom de domaine vers un nouveau :
server {
listen 80;
server_name www.old-domain.tld;
return 301 https://www.new-domain.tld$request_uri;
}Vous pouvez également utiliser return pour rediriger une seule page comme ceci :
location /old-page {
return 301 /new-page;
}La directive rewrite vous permet d’effectuer des redirections plus complexes à l’aide d’expressions régulières (regex), qui correspondent à des modèles dans l’URL d’origine et les transforment en nouvelles URL.
Elle est particulièrement utile lorsque la directive return ne suffit pas, par exemple pour rediriger dynamiquement des URL en fonction de modèles ou de conditions spécifiques. Bien que la directive rewrite soit puissante, une utilisation inappropriée peut entraîner des problèmes tels que des boucles de redirection. Il convient donc de l’utiliser avec précaution.
Voici sa syntaxe de base :
rewrite regex replacement [flag];
Par exemple, pour rediriger une URL en fonction d’un modèle :
location / {
rewrite ^/old/(.*)$ /new/$1 permanent;
}Un autre exemple ajoute une barre oblique finale aux URL :
rewrite ^([^.]*[^/])$ $1/ permanent;
À l’inverse, vous pouvez rediriger les URL avec une barre oblique finale vers leurs versions sans barre oblique :
rewrite ^/(.*)/$ /$1 permanent;
Lorsque vous choisissez rewrite, ajoutez l’option permanent pour les redirections optimisées pour le référencement et utilisez last pour les réécritures internes.
Avec try_files, vous pouvez vérifier l’existence de fichiers ou de répertoires spécifiques avant de servir une réponse ou de rediriger le trafic. Cela est utile pour les sites web dynamiques, les configurations de secours ou la redirection des requêtes lorsque des fichiers sont manquants.
La directive try_files utilise la syntaxe suivante :
try_files chemin1 chemin2 ... fallback;
Voici un exemple de redirection des requêtes pour des fichiers inexistants vers une page d’erreur personnalisée :
location / {
try_files $uri $uri/ /404.html;
}De même, pour rediriger tous les fichiers manquants vers la page d’accueil de votre Site web :
location / {
try_files $uri $uri/ /index.html;
}Si vous souhaitez rediriger les fichiers PHP manquants vers un gestionnaire d’erreurs :
location ~ \.php$ {
try_files $uri /error-handler.php;
}Les redirections NGINX ont plusieurs objectifs, allant du renforcement de la sécurité à l’amélioration de l’expérience utilisateur. Voici cinq cas d’utilisation courants et des instructions pour les mettre en œuvre.
La redirection du trafic HTTP vers HTTPS améliore la sécurité de votre site web et renforce la confiance des utilisateurs. Elle garantit également que les moteurs de recherche reconnaissent votre site comme étant sécurisé, ce qui peut améliorer votre classement SEO.
L’exemple suivant montre comment configurer une redirection HTTP vers HTTPS à l’aide de la directive return :
server {
listen 80;
server_name domain.tld www.domain.tld;
return 301 https://$host$request_uri;
}
Assurez-vous d’avoir configuré un certificat SSL sur votre serveur avant d’activer la redirection. Apprenez à installer un SSL gratuit sur votre VPS si vous ne l’avez pas déjà fait.
La redirection du trafic non-WWW vers la version WWW de votre site web permet de conserver une structure d’URL cohérente et d’éviter les problèmes de contenu dupliqué. Vous pouvez y parvenir dans NGINX en ajoutant un bloc de serveur dédié pour traiter les requêtes non-WWW. Par exemple :
server {
listen 80;
server_name domain.tld;
return 301 http://www.domain.tld$request_uri;
}Si votre site utilise HTTPS, ajoutez une configuration similaire pour rediriger le trafic non-WWW vers HTTPS :
server {
listen 443 ssl;
server_name domain.tld;
return 301 https://www.domain.tld$request_uri;
}La redirection du trafic vers une page de maintenance est courante lors des mises à jour du site ou des interruptions temporaires. À l’aide d’un bloc location, vous pouvez facilement configurer une redirection d’URL NGINX pour informer les visiteurs de la maintenance en cours.
Par exemple, pour rediriger tout le trafic vers une page de maintenance :
server {
listen 80;
server_name domain.tld www.domain.tld;
location / {
return 302 /maintenance.html;
}
location /maintenance.html {
root /var/www/html;
}
}Les redirections conditionnelles dans NGINX vous permettent de rediriger le trafic en fonction de conditions spécifiques, telles que les agents utilisateurs ou les adresses IP. Pour ce faire, utilisez la directive if dans un bloc server ou location.
L’exemple suivant redirige les utilisateurs mobiles vers une version mobile de votre site :
server {
listen 80;
server_name domain.tld www.domain.tld;
if ($http_user_agent ~* "Mobile") {
return 302 https://m.domain.tld$request_uri;
}
}Un autre exemple montre comment bloquer ou rediriger des adresses IP spécifiques :
server {
listen 80;
server_name domain.tld;
if ($remote_addr = 192.168.1.1) {
return 403;
}
}En redirigeant les URL avec des paramètres de requête, vous pouvez gérer les requêtes dynamiques tout en conservant ou en modifiant des données spécifiques dans l’URL. NGINX rend cela possible à l’aide des directives if ou rewrite, combinées à des variables telles que $request_uri et $arg_.
Par exemple, pour rediriger une URL tout en conservant les paramètres de requête :
location /old-page {
return 301 /new-page?$query_string;
}Par ailleurs, pour rediriger les visiteurs en fonction d’un paramètre de requête spécifique :
server {
listen 80;
server_name domain.tld;
if ($arg_promo = "true") {
return 301 /promo-page;
}
}Suivez ces bonnes pratiques lors de la configuration des redirections NGINX afin d’obtenir des performances optimales, d’éviter les erreurs et de garantir une expérience utilisateur fluide :
Évitez les boucles de redirection
Les boucles de redirection se produisent lorsqu’une règle redirige involontairement le trafic vers elle-même ou chevauche d’autres règles. Ces boucles peuvent ralentir votre serveur et frustrer les utilisateurs. Évitez les boucles de redirection en utilisant des conditions précises dans vos blocs serveur ou emplacement afin d’éviter les conflits.
Cet exemple n’est pas sûr car il redirige le trafic vers lui-même :
server {
listen 80;
server_name domain.tld;
return 301 http://domain.tld$request_uri;
}À l’inverse, voici un exemple de redirection sécurisée :
server {
listen 80;
server_name www.domain.tld;
return 301 https://domain.tld$request_uri;
}N’utilisez les caractères génériques ou les expressions régulières qu’en cas de nécessité
Bien que les caractères génériques et les expressions régulières offrent une grande flexibilité, ils peuvent compliquer les configurations et nuire aux performances. Utilisez-les uniquement lorsque des options plus simples, telles que la directive return, ne permettent pas de répondre à vos besoins.
Par exemple, évitez les modèles trop généraux comme celui-ci :
location ~ .* {
return 301 /new-page;
}Utilisez plutôt des modèles ou des conditions spécifiques, comme indiqué ci-dessous :
location ~ ^/old-page[0-9]+$ {
return 301 /new-page;
}Combinez les règles de redirection lorsque cela est possible
Le regroupement de redirections similaires en un seul bloc minimise les directives et améliore la clarté. Par exemple :
location ~ ^/(old-page1|old-page2|old-page3)$ {
return 301 /new-page;
}Réduisez au minimum les redirections en chaîne
Le chaînage de plusieurs redirections ralentit le chargement des pages et a un impact négatif sur le référencement. Redirigez toujours le trafic directement vers sa destination finale. Par exemple, au lieu de chaîner :
/page1 -> /page2 -> /page3
Utilisez une redirection directe comme ceci :
/page1 -> /page3
Testez les règles de redirection avant et après le déploiement
Validez toujours vos redirections afin qu’elles se comportent comme prévu. Utilisez ces commandes pour vérifier les erreurs de syntaxe avant de recharger votre configuration :
sudo nginx -t sudo systemctl reload nginx
Les clients VPS Hostinger peuvent également utiliser Kodee pour identifier les erreurs de syntaxe dans leur configuration NGINX. Il suffit de demander « Pouvez-vous vérifier si ma configuration NGINX actuelle comporte des erreurs ? » et l’outil répondra comme suit :

Sinon, des outils tels que curl peuvent vérifier les codes d’état HTTP et les URL redirigées :
curl -I http://domain.tld/old-page
Après le déploiement, utilisez des outils de référencement tels que Google Search Console ou Screaming Frog pour vous assurer qu’il n’y a pas de liens rompus ou de boucles de redirection.
Outre la configuration des redirections, vous pouvez également utiliser NGINX pour configurer un proxy inverse. Lisez notre article pour en savoir plus.
Dans cet article, nous avons expliqué comment configurer diverses redirections NGINX, notamment les redirections de HTTP vers HTTPS et de non-WWW vers WWW. Vous avez également découvert les meilleures pratiques, telles que la manière d’éviter les boucles de redirection, d’utiliser judicieusement les expressions régulières et de tester minutieusement vos redirections.
De plus, nous avons abordé la configuration des redirections avec des paramètres de requête et la maintenance de blocs de serveurs propres. Grâce à ces connaissances, vous pouvez gérer efficacement le trafic et optimiser les configurations de votre serveur pour améliorer les performances et le référencement.
Si vous avez encore des questions sur les redirections côté serveur NGINX, n’hésitez pas à utiliser la zone de commentaires ci-dessous.
Une redirection NGINX est une instruction côté serveur qui redirige les visiteurs d’une URL vers une autre. Elle permet de gérer le trafic, d’améliorer le référencement et de maintenir un routage correct, généralement à l’aide de codes d’état tels que 301 (permanent) ou 302 (temporaire).
Pour configurer une redirection simple dans NGINX, utilisez la directive return dans le bloc server concerné. Par exemple :
server {
listen 80;
server_name old-domain.tld;
return 301 https://new-domain.tld$request_uri;
}
Pour une redirection 301 dans NGINX, utilisez la syntaxe suivante :
return 301 https://new-domain.tld$request_uri;
Cela redirige de manière permanente les visiteurs de l’ancienne URL vers la nouvelle destination.
Tout le contenu des tutoriels de ce site est soumis aux normes éditoriales et aux valeurs rigoureuses de Hostinger.