Comment configurer Mod_Rewrite

click fraud protection

le Apache Le serveur Web est l'un des principaux éléments constitutifs d'Internet, servant des sites Web et des applications. C'est un système complexe avec de nombreuses options, et l'une des plus importantes est le module de réécriture, ou "mod_rewrite" en abrégé. Dans cet article, nous examinerons les utilisations de mod_rewrite, puis explorerons comment le configurer sur votre propre site basé sur Apache.

Le but du module de réécriture Apache

Le but de ce module est de réécrire les URL de diverses manières utiles. Cela signifie que lorsque les utilisateurs arrivent sur votre site Web via une URL (soit en la saisissant, soit en sélectionnant un lien la contenant), ils "se retrouveront" sur une autre URL. Il y a un certain nombre de raisons pour lesquelles vous pourriez vouloir faire cela.

Redirection des utilisateurs

Vous pouvez utiliser mod_rewrite pour diriger les utilisateurs de pages plus anciennes et obsolètes qui peuvent encore apparaître dans les résultats de recherche, vers des pages plus récentes et à jour. Par exemple, supposons que vous ayez une page à https://www.mysite.com/review2015; si quelqu'un tombe sur ce lien et le sélectionne, vous pouvez utiliser une règle de réécriture pour le diriger vers http://www.mysite.com/review2019.

instagram viewer

URL plus faciles à mémoriser

Vous avez probablement vu des liens liés au commerce électronique avec des URL comme https://www.thestore.net/3d78654954c29ace998658. Les développeurs utilisent des étiquettes comme celle-ci pour s'assurer que les éléments ont un identifiant unique, mais pour les types non-techniciens, il est difficile de s'en souvenir.

Heureusement, une règle de réécriture peut vous aider à publier une belle URL, comme https://www.thestore.net/notebooks/spiral/3-subject-spiral/, qui, lorsqu'il est suivi, conduit un visiteur à celui avec l'URL moche.

Noms de pages uniques

Au début du Web, il était courant de voir le nom réel des fichiers de page lorsque vous visitiez un site Web. Par exemple, la page "À propos de nous" d'un site Web peut être " http://www.someguys.org/about.html."

Mais il y a plusieurs raisons pour lesquelles vous ne les voyez plus beaucoup. La première est que de nombreux sites Web sont gérés par des systèmes de gestion de contenu, qui ne disposent que d'une poignée de fichiers de page réels. Le reste du contenu est ajouté dynamiquement au fur et à mesure que la page est servie, de sorte que toutes les pages peuvent sembler avoir la même URL, comme " http://www.someguys.org/index.php." La réécriture d'URL vous permet d'avoir l'apparence de ces pages séparées, tout en utilisant un CMS dynamique pour gérer votre site Web.

URL plus compréhensibles

Les moteurs de recherche classent les pages plus haut lorsqu'elles ont des URL facilement compréhensibles. Cela signifie qu'il est avantageux pour les sites Web d'avoir une URL telle que " https://www.thecompany.com/services/consulting" à la place de " https://www.thecompany.com/index.php? section=services&page=consulting", puisque la dernière partie ressemble plus à du code qu'à une URL.

La réécriture garantit que vous présentez toujours votre meilleur visage, du point de vue de l'URL.

Comment configurer mod_rewrite sur votre site

L'utilisation de la réécriture d'URL sur Apache nécessite deux composants principaux:

  • Activation du module de réécriture réel dans Apache
  • Liste des règles de réécriture nécessaires dans un fichier .htaccess.

Alors que les utilisations de la réécriture d'URL s'appliquent également à d'autres serveurs Web comme IIS ou nginx, mod_rewrite et les méthodes ci-dessous ne s'appliqueront qu'à Apache.

Activer la fonction de réécriture dans Apache

Tout d'abord, vous devez activer la fonction de réécriture dans votre installation Apache.

  1. Vous devrez trouver où se trouve le fichier de configuration de votre Apache. Cela dépendra du programme d'installation que vous avez utilisé.

    • Sous Windows, vous devez rechercher un répertoire appelé "/conf" sous le répertoire d'installation d'Apache.
    • Sur le programme d'installation XAMPP populaire de macOS, il se trouve dans /Applications/XAMPP/xamppfiles/apache2/conf.
    • Sous Linux, il apparaîtrait dans le répertoire /etc/apache2. Dans tous les cas, vous recherchez un fichier appelé "httpd.conf", "http.conf" ou "apache2.conf", vous pouvez donc également utiliser la fonction de recherche de votre système d'exploitation pour les rechercher.
  2. Ouvrez le fichier de configuration dans un éditeur de texte, comme Bloc-notes de Windows ou alors TexteModifier sur macOS.

  3. Recherchez la ligne "#LoadModule rewrite_module modules/mod_rewrite.so" et supprimez le hashtag au début. Cela dénote un commentaire, ce qui signifie que lorsqu'il est là, le serveur Apache ignorera tout sur cette ligne. Supprimez le hashtag et la prochaine fois, Apache exécutera cette ligne au démarrage.

  4. Enregistrez le fichier de configuration et redémarrez le serveur Apache.

  5. Alternativement, sur certaines versions de Linux, vous verrez des répertoires comme "/etc/apache2/mods-available" et "/etc/apache2/mods-enabled." Ceux-ci contiennent des morceaux de fichiers de configuration qui sont assemblés dynamiquement. Dans ce cas, vous pouvez exécuter les commandes suivantes pour activer d'abord le module de réécriture, puis redémarrer le serveur Apache:

    sudo a2enmod réécriture
    systemctl redémarrer apache2
  6. Votre serveur Apache est maintenant prêt à réécrire les URL pour vous. Seulement maintenant, vous devez lui dire lesquels réécrire et dans quelles circonstances.

Définir les règles Mod_Rewrite sur votre site

Vous devrez définir les règles de mod_rewrite en utilisant le langage d'expression régulière. Heureusement, de l'aide est disponible. Pour une réécriture donnée que vous souhaitez activer, vous pouvez utiliser un outil tel que le générateur de règles de VisioSpark.

  1. Saisissez l'URL à partir de laquelle vous souhaitez réécrire, c'est-à-dire celle qu'un utilisateur saisira, dans le champ De: domaine.

  2. Entrez l'URL vers laquelle vous souhaitez réécrire, c'est-à-dire celle où l'utilisateur se retrouvera, dans le À: domaine.

    Les générateurs de règles de réécriture d'interface graphique peuvent vous faire économiser l'effort d'apprentissage de RegEx
  3. Sélectionnez le champ Captcha, puis sélectionnez Va. Le générateur doit alors fournir un résultat commençant par "RewriteRule.

    S'il vous arrive de trouver un autre générateur, ces étapes peuvent être légèrement différentes, mais, espérons-le, dans le même stade.

Saisie des règles Mod_Rewrite pour votre site

C'est donc génial, un moyen de pointer-cliquer pour établir ces règles. Mais où les mettez-vous?

Pour utiliser des règles sur un site Web, vous devrez créer un fichier appelé ".htaccess" à la racine du site Web. Cela dépend quelque peu de la plate-forme où les fichiers d'un site Web particulier sont stockés, mais vous devrez l'avoir compris pour y déployer votre site Web en premier lieu.

Il y a peut-être déjà un fichier avec ce nom. Si c'est le cas, super! Vous pouvez simplement ajouter vos lignes à ce fichier.

  1. Créez un nouveau fichier texte avec le nom ".htaccess" à la racine de votre site Web.

  2. Dans la première ligne, entrez le code ci-dessous. Cela indique au serveur que vous souhaitez activer la réécriture pour le site Web actuel.

    RewriteEngine activé
  3. Ensuite, ajoutez chacune des lignes que vous avez créées avec le générateur. Le début de notre fichier ressemblerait à ceci:

    RewriteEngine activé
    RewriteRule ^notebooks/spiral/3-subject-spiral/$ /3d78654954c29ace998658?&%{QUERY_STRING}
  4. Comme pour tout changement de configuration Apache, c'est une bonne idée de redémarrer le serveur.

L'utilisation de Mod_Rewrite prend du temps, mais les résultats en valent la peine

L'utilisation de la fonction mod_rewrite sur Apache demande certainement un certain effort. Vous devez manipuler des fichiers de configuration textuels, trouver un moyen d'obtenir des expressions régulières très pointilleuses dans ces fichiers et savoir comment arrêter et redémarrer manuellement le service. Cela nécessitera probablement beaucoup d'essais et d'erreurs avant d'obtenir quelque chose qui n'entraîne pas d'erreur et qui se comporte correctement.

Cela dit, une fois que vous aurez pris le coup, vous tirerez de grands avantages de mod_rewrite. Vos visiteurs seront mieux en mesure de se souvenir de vos URL et votre classement sur Google s'améliorera probablement. Les "jolies URL" qui en résultent ne sont pas seulement pour le spectacle, après tout. Ils sont fonctionnels aussi.

instagram story viewer