GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Comment réécrire des URL avec mod_rewrite pour Apache sur Ubuntu 20.04

Le mod_rewrite est un module Apache qui utilise un moteur de réécriture basé sur des règles. Il est utilisé pour traduire et rediriger l'URL demandée vers une nouvelle URL. Il permet de modifier dynamiquement une URL. Ainsi, le visiteur ne voit jamais l'URL changer dans la barre d'adresse. Avec mod_rewrite, vous pouvez réécrire un nombre illimité de règles. Cela vous permettra de réécrire l'URL en fonction des variables d'environnement, des en-têtes HTTP et des variables de serveur.

Dans cet article, nous montrerons comment utiliser mod_rewrite pour réécrire l'URL d'Apache sur Ubuntu VPS.

Prérequis

  • Ubuntu 20.04 VPS (nous utiliserons notre forfait NVMe 2 VPS)
  • Accès au compte utilisateur root (ou accès à un compte administrateur avec privilèges root)

Étape 1 :Connectez-vous au serveur et mettez à jour les packages du système d'exploitation du serveur

Tout d'abord, connectez-vous à votre serveur Ubuntu 20.04 via SSH en tant qu'utilisateur root :

ssh root@IP_Address -p Port_number

Vous devez remplacer "IP_Address" et "Port_number" par l'adresse IP et le numéro de port SSH respectifs de votre serveur. En outre, vous devez remplacer "root" par le nom d'utilisateur du compte administrateur si nécessaire.

Avant de commencer l'installation, nous devons nous assurer que tous les packages du système d'exploitation Ubuntu installés sur le serveur sont mis à jour. Vous pouvez le faire en exécutant les commandes suivantes :

apt-get update -y
apt-get upgrade -y

Étape 2 :Installer le serveur Web Apache

Avant de commencer, assurez-vous que le package de serveur Web Apache est installé sur votre système. S'il n'est pas installé, vous pouvez l'installer avec la commande suivante :

apt-get install apache2 -y

Une fois le package installé, démarrez le service Apache avec la commande suivante :

systemctl start apache2

Ensuite, ouvrez votre navigateur Web et saisissez l'URL http://your-server-ip pour vérifier le serveur Web Apache. Si tout va bien, vous devriez voir la page de test Apache :

Étape 3 :Activer mod_rewrite

Par défaut, le module mod_rewrite est installé avec le package Apache mais il est désactivé. Vous devrez donc d'abord l'activer.

Vous pouvez l'activer avec la commande suivante :

a2enmod rewrite

Ensuite, redémarrez le service Apache pour appliquer les modifications.

Ensuite, vérifiez le module Apache mod_rewrite avec la commande suivante :

apache2ctl -M | grep rewrite_module

Vous devriez obtenir le résultat suivant :

 rewrite_module (shared)

Étape 4 :Activer les fichiers .htaccess

Vous pouvez configurer des règles de réécriture directement dans le fichier de configuration principal d'Apache. Cependant, il est recommandé d'écrire des règles dans le fichier .htaccess à l'intérieur de chaque site Web.

Par défaut, Apache ne permet pas d'utiliser le fichier .htaccess. Vous devrez donc activer le fichier .htaccess dans votre fichier de configuration d'hôte virtuel par défaut.

Pour ce faire, modifiez le fichier de configuration de l'hôte virtuel par défaut d'Apache :

nano /etc/apache2/sites-available/000-default.conf

Ajoutez les lignes suivantes avant la ligne :

<Directory /var/www/html>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
</Directory>

Assurez-vous d'enregistrer et de fermer le fichier, puis redémarrez le service Apache pour appliquer les modifications :

systemctl restart apache2

Étape 5 :Configurer les réécritures d'URL

Pour comprendre comment fonctionnent les réécritures d'URL, nous allons créer une page home.html dans le répertoire racine du document Apache. Nous allons ensuite configurer une réécriture d'URL de base qui permettra d'accéder à la page http://your-server-ip/home et de la convertir en chemin de page réel http://your-server-ip/home.html.

Commençons par créer une page home.html :

nano /var/www/html/home.html

Ajoutez le contenu suivant :

<html>
    <head>
        <title>Home</title>
    </head>
    <body>
        <h1>Home Page</h1>

<h2>This is my home page</h2>
    </body>
</html>

Enregistrez et fermez le fichier lorsque vous avez terminé.

Ensuite, créez un fichier .htaccess dans le répertoire racine du document par défaut du site Web pour tester mod_rewrite.

nano /var/www/html/.htaccess

Commencez par ajouter la ligne suivante pour activer le moteur de réécriture :

RewriteEngine on

Ensuite, ajoutez la règle de réécriture suivante qui redirige les visiteurs vers home.html s'ils demandent la page http://your-server-ip/home.

RewriteRule ^home$ home.html [NC]

Enregistrez et fermez le fichier lorsque vous avez terminé.

Une brève explication de la syntaxe des règles de réécriture est présentée ci-dessous :

  • ^ Cela correspondra à tout texte après l'adresse IP du serveur.
  • $ Cela indiquera la fin de l'URL.
  • accueil Cela correspondra à la chaîne réelle home
  • home.html Cela définira le fichier réel auquel le visiteur accède.
  • [NC] Cela rendra la règle insensible à la casse.

Vous pouvez maintenant visiter la page d'accueil sur http://your-server-ip/home sur votre navigateur Web. Apache redirigera vers la page home.html comme indiqué ci-dessous :

Bien sûr, vous n'avez rien à faire si vous utilisez l'un de nos services d'hébergement VPS Linux, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts de le configurer pour vous. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.

PS. Si vous avez aimé cet article, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.


Panels
  1. Comment installer Apache Mod Rewrite sur Ubuntu / Linux

  2. Comment configurer Apache avec HTTP/2 sur Ubuntu 16.04

  3. Comment installer Odoo 12 sur Ubuntu 18.04 avec Apache comme proxy inverse

  4. Comment installer Odoo 14 sur Ubuntu 20.04 avec Apache comme proxy inverse

  5. Comment installer Let's Encrypt sur Ubuntu 20.04 avec Apache

Comment installer Drupal 7 avec Apache sur Ubuntu 14.04

Comment installer PrestaShop sur Ubuntu 20.04 avec Apache

Comment installer phpBB avec Apache sur Ubuntu 20.04

Comment configurer WordPress sur Ubuntu Server avec Apache

Comment installer NextCloud sur Ubuntu 20.04 avec Apache

Comment installer WordPress avec Apache dans Ubuntu 20.04