Comment rediriger les URL à l'aide de NGINX ? (Temporairement permanent)
Publié: 2024-01-26Qu’est-ce que la redirection ?
Concernant Nginx, la redirection est une fonction de serveur Web dans laquelle le trafic d'un site Web est déplacé d'une URL à une autre. C’est l’une des fonctionnalités les plus utiles grâce à laquelle vous pouvez facilement rediriger automatiquement les visiteurs vers un autre emplacement.
Bien qu'il existe de nombreux types de redirections que vous pouvez effectuer, les deux plus importantes et couramment utilisées sont la redirection permanente (301) et temporaire (302).
Dans cet article, nous allons vous montrer les méthodes de redirection avec des exemples tels que, de www vers non-www, la redirection Nginx vers un domaine, la redirection Nginx de HTTP vers HTTPS, etc.
Lire : Comment fonctionne l’URL de redirection WordPress ? 5 meilleures méthodes
Quelle est la nécessité d’une redirection Nginx ?
- Nginx fournit l'une des fonctionnalités cruciales, à savoir la redirection des URL de sites Web vers une autre adresse en fonction de critères.
- Les redirections Nginx sont très conviviales et faciles à configurer, ce qui rend la gestion des URL de sites Web très flexible.
- C'est très utile pour préserver le classement SEO d'une page, surtout si vous migrez d'un CMS à un autre.
- La fonction de redirection permet également de conserver la position SERP malgré les changements dans la structure de l'URL.
Méthodes de redirection Nginx courantes (temporaires et permanentes)
Comme nous l'avons déjà mentionné, il existe plusieurs types de méthodes de redirection disponibles, mais en pratique, il n'y en a que deux couramment utilisées, à savoir la redirection temporaire et permanente.
Redirection temporaire (code de réponse : 302 trouvé)
- D’après le nom lui-même, vous pouvez anticiper l’effet d’un médicament temporaire. Eh bien, cette méthode a pour but de changer temporairement l'emplacement d'une page d'un endroit à un autre.
- Le code de réponse : 302 Found est utilisé pour afficher le transfert temporaire d'une page lors de ces redirections.
- Il est principalement utilisé lors de la maintenance du site Web ; la redirection temporaire informe le trafic ou les utilisateurs de l'indisponibilité temporaire du site.
- Il peut également être utilisé pour rediriger une page incomplète vers un autre point ou page d'accueil.
- Exemple de scénario : le visiteur accède à la page du site Web, mais en raison de la maintenance, il est redirigé vers une notification indiquant que le site Web est actuellement en maintenance.
Redirection permanente (code de réponse : 301 trouvé)
- La redirection permanente Nginx est utilisée pour déplacer définitivement un domaine de page.
- Une redirection 301 est employée pour désigner le déplacement permanent d'une page dans ce contexte.
- Cette redirection est principalement utilisée lorsqu'un utilisateur souhaite modifier un nom de domaine et ne souhaite plus que le trafic du site Web accède à l'ancien emplacement.
Comment rediriger les URL à l'aide de Nginx (temporaire et permanent)
Avant de commencer, vous devez d'abord vous assurer que NGINX est installé sur votre VPS ou serveur privé virtuel. Après cela, accédez à votre VPS via SSH. Chez Wpoven, vous pouvez facilement accéder à votre site via la console de ligne de commande SSH.
Lire : Puis-je accéder à mon site WPOven via SSH
Configuration Configuration de NGINX
- Emplacement du fichier de configuration NGINX : la configuration de NGINX est généralement stockée dans un fichier .conf, qui est un fichier texte brut contenant des directives et des paramètres pour le serveur.
- Emplacement par défaut : l'emplacement par défaut des fichiers de configuration NGINX se trouve souvent dans le répertoire racine des documents de votre (vos) site (s). Dans ce cas, il mentionne le chemin :
/etc/nginx/sites-available/directory_name.conf
. - Répertoire racine du document : ce répertoire est l'endroit où sont stockés les fichiers de votre site Web. La racine du document peut varier ; pour un serveur monosite, il peut se trouver dans le répertoire
/html
. Si votre serveur héberge plusieurs sites, la racine du document peut se trouver dans un répertoire de domaine spécifique tel que/domain.com
. - Nommage du fichier de configuration : Le nom de votre fichier .conf correspond à votre site. Par exemple, si votre site se trouve dans le répertoire
/html
, le fichier .conf peut être nomméhtml.conf
. S'il se trouve dans un répertoire tel que/domain.com
, le fichier .conf pourrait être nommédomain.com.conf
. - Fichier de configuration par défaut : dans le
/etc/nginx/sites-available/directory
, il existe généralement un fichier par défaut que vous pouvez utiliser comme modèle. Ce fichier peut contenir des configurations de base que vous pouvez copier ou modifier en fonction de vos besoins. - Création d'un nouveau fichier de configuration : Vous avez également la possibilité de créer un nouveau fichier .conf. Par exemple, vous pouvez créer un fichier nommé
html.conf
oudomain.com.conf
en fonction de la structure et des conventions de dénomination de votre site.
Vous pourriez être surpris d'apprendre que, dans Nginx, il existe un outil intégré disponible appelé directive « rewrite ». C'est un outil très pratique qui facilite la redirection. La meilleure partie est que vous n'avez rien de spécial à faire à ce sujet, il est automatiquement présent chaque fois que vous installez un nouveau Nginx.
Cette directive « rewrite » n'est pas seulement destinée à effectuer des redirections de base, mais elle est assez polyvalente. c'est-à-dire que vous pourrez créer deux types de redirections, permanentes et temporaires.
Tout ce que vous avez à faire est de transmettre seulement deux arguments, l'ancienne URL et la nouvelle URL. Vous trouverez ci-dessous quelques exemples pour votre référence. Entrez simplement les lignes suivantes dans la configuration de votre serveur.
Tout d’abord, ouvrez le fichier de configuration en entrant la commande suivante dans le terminal.
$ sudo vi /etc/nginx/nginx.conf
après cela, utilisez les commandes suivantes ci-dessous selon vos besoins.
1. Redirection page à page Nginx
Redirection temporaire de page à page Nginx
server {
# Temporary redirect to an individual page
rewrite ^/oldpage$ http://www.example.com/newpage redirect;
}
Redirection permanente de page à page Nginx
server {
# Permanent redirect to an individual page
rewrite ^/oldpage$ http://www.example.com/newpage permanent;
}
À partir des commandes ci-dessus, vous avez remarqué que si vous souhaitez créer une redirection permanente, il vous suffit de remplacer « redirect » par « permanent » à la fin de la directive.
2. Redirection WWW vers Nginx non-www
Redirection permanente du www vers le non-www :
server {
# Permanent redirect to non-www
server_name www.example.com;
rewrite ^/(.*)$ http://example.com/$1 permanent;
}
Remarque : Si vous souhaitez rediriger depuis un site non www vers www, il vous suffit de remplacer les URL de sites Web mentionnées dans la commande ci-dessus. c'est-à-dire Remplacez www.example.com par example.com et vice versa.
3. Comment rediriger l'URL de HTTP vers HTTPS dans Nginx ?
Avant de faire cette redirection, n'oubliez pas d'installer le certificat SSL. La redirection vers HTTPS a ses avantages. Cela aide à protéger votre site Web contre toutes les attaques MIMT, le vol de données, etc. Et même leurs ports sont différents, par exemple, HTTP utilise 80 ports alors que HTTPS en utilise 443.
Ainsi, pour protéger toutes les informations sensibles partagées entre vous et votre visiteur, vous avez besoin des commandes suivantes :
server {
listen 80;
server_name www.domain.tld;
return 301 https://www.domain.tld$request_uri;
}
4. URL de redirection Nginx vers une autre URL
Si vous souhaitez rediriger définitivement, c'est-à-dire la redirection nginx vers une autre URL 301, utilisez la commande suivante :
Vers un nouveau domaine à partir d'un domaine plus ancien,
server {
listen 80;
listen 443 ssl;
server_name olddomain.com www.olddomain.com;
return 301 $scheme://www.newdomain.com$request_uri;
}
OU
server {
# Permanent redirect to new URL
listen 443 ssl;
# Add this line to listen on the HTTPS port and enable SSL server_name olddomain.com;
ssl_certificate /path/to/your/ssl_certificate.crt; # Update with the actual path to your SSL certificate
ssl_certificate_key /path/to/your/ssl_certificate_key.key; # Update with the actual path to your SSL certificate key
# Additional SSL settings can be configured here
rewrite ^/(.*)$ https://newdomain.com/$1 permanent;
# Update to use 'https' protocol
}
- Nous avons mis en place une redirection pour notre site Web à l'aide d'un outil appelé directive « rewrite » dans Nginx.
- Le
^/(.*)$
est une expression régulière qui utilisera tout ce qui se trouve après la dernière barre oblique ( / ) dans l'URL. - Par exemple, si quelqu'un tente d'accéder
http://olddomain.com/index.html
, il utilisera la partieindex.html
. - Donc, si vous alliez vers
http://olddomain.com/index.html
, cela vous redirigera facilement vershttp://newdomain.com/index.html
. - L'idée est de rediriger de manière transparente les utilisateurs vers le même contenu sur le nouveau domaine.
- Pour nous assurer que cette redirection est permanente, nous avons ajouté un mot-clé spécial, « Permanent » après la directive
rewrite
. - Cela indique aux navigateurs et aux moteurs de recherche qu'il s'agit d'un changement permanent, en utilisant ce qu'on appelle un code d'état HTTP 301.
5. Nginx redirige vers un autre domaine sans changer l'URL
Supposons que vous souhaitiez rediriger le domaine olddomain.com vers newdomain.com sans modifier l'URL. Cela signifie que lorsque vous entrez olddomain.com, il doit rediriger vers newdomain.com, mais l'URL doit toujours afficher olddomain.com.
Voici comment vous pouvez aborder,
server {
listen 80;
server_name olddomain.com;
location / {
proxy_pass http://newdomain.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
}
6. Redirection Nginx de site spécifique
server {
listen 80;
server_name example.com;
return 301 http://newexample.com$request_uri;
}
Vérifier la syntaxe Nginx
Pour vérifier que toutes les syntaxes nginx sont correctes, utilisez la commande suivante :
nginx -t
Si la sortie s'avère vide, cela signifie que la syntaxe est correcte et que vous devez redémarrer le serveur Nginx pour que ces modifications soient effectives.
Redémarrer le serveur Nginx
N'oubliez pas de redémarrer votre serveur Nginx pour rendre ces règles effectives en utilisant la commande :
sudo systemctl restart Nginx
Résumé
Comme déjà mentionné ci-dessus, Nginx s'est avéré être le serveur Web le plus puissant et le plus convivial qui vous permet d'effectuer facilement des redirections Nginx permanentes et temporaires.
Après avoir lu ce blog, vous savez maintenant comment créer des URL de redirection à l'aide de NGINX. Que ce soit pour rediriger nginx de HTTP vers HTTPS, d'un domaine vers un autre domaine, etc.
De plus, vous avez appris comment les redirections affectent votre classement SEO, alors assurez-vous toujours d'utiliser le bon type de redirection.
Avec cette fonctionnalité utile, vous pouvez facilement modifier la structure de votre site Web en fonction des tendances et des exigences et éviter toute crainte de perte de trafic et de classement SERP.
WPOven propose des options d'hébergement gérées par WordPress pour votre prochain projet NGINX. Contactez-nous pour discuter des meilleures options pour vous.
Si vous avez des questions ou des suggestions, veuillez nous le faire savoir dans la section commentaires ci-dessous :
Questions fréquemment posées
Comment rediriger une URL dans nginx ?
Dans Nginx, il existe un outil intégré disponible appelé directive « rewrite ». C'est un outil très pratique qui facilite la redirection. La meilleure partie est que vous n'avez rien de spécial à faire à ce sujet, il est automatiquement présent chaque fois que vous installez un nouveau Nginx.
Quel est le code de redirection pour Nginx ?
Le nginx est assez polyvalent et vous propose deux types de redirections, permanentes dont le code de réponse est 301, et temporaires dont le code de réponse de réduction est 302.
À quoi sert NGINX ?
Nginx est un serveur Web et un serveur proxy inverse polyvalent et performant. Il est couramment utilisé aux fins suivantes : serveur Web , serveur proxy inverse , équilibreur de charge , terminaison SSL/TLS , mise en cache , réseau de diffusion de contenu (CDN) , passerelle API , prise en charge WebSocket , sécurité et architecture haute disponibilité .
Rahul Kumar est un passionné du Web et un stratège de contenu spécialisé dans WordPress et l'hébergement Web. Fort de plusieurs années d'expérience et d'un engagement à rester au courant des tendances du secteur, il crée des stratégies en ligne efficaces qui génèrent du trafic, stimulent l'engagement et augmentent les conversions. L'attention portée aux détails et la capacité de Rahul à créer un contenu convaincant font de lui un atout précieux pour toute marque cherchant à améliorer sa présence en ligne.