Drupal 7 – rewriting URL

logo_drupal

L'URL rewriting ou réécriture d'URL à la volée est un sujet important pour un site web. Cette technique permet de réécrire des URL, cela veut dire que l'adresse dans le navigateur sera différente de celle définit par la technologie employée.  Les objectifs de cette technique sont multiples :

  • Améliorer le référencement du site
  • Protection sur la technologie utilisée
  • Simplifier la navigation des utilisateurs
  • Gérer les redirections
  • ....

Pour un site en "Drupal 7", l'adresse par défaut d'un article est définie de cette façon :
http://localhost/monSiteQuiLestAmoi/node/7

L'article traitant de fleur et de la "Pivoine de Chine", il est possible de transformer cette adresse par :
http://localhost/monSiteQuiLestAmoi/fleur/pivoine-de-chine

En regardant l'adresse on sait tout de suite quel sera le sujet de la page :

  • Les fleurs
  • La "Pivoine de Chine"

1.    Configuration du serveur Apache

Apache propose un module pour la prise en charge du rewriting.
Ouvrez le fichier de configuration Apache, "httpd.conf", et assurez vous que le module "rewrite_module" est bien chargé par le serveur :

httpd-conf

Nota : Si le caractère « # » est présent en début de ligne, le supprimer et relancer le serveur Apache.

Toujours dans le fichier de configuration d'Apache, ajoutez quelques lignes dans la définition du "VirtualHost" du site pour ne pas avoir dans l'URL générée par Drupal la chaîne de caractères "?q=...." :

apache-VirtualHost

Nota : les lignes utiles vont de 331 à 335.

 

2.    Configuration de "Drupal 7"

Il faut maintenant faire en sorte que "Drupal 7" puisse utiliser la fonctionnalité proposée par le serveur Apache.

2.1    Installation des modules

Dans le gestionnaire de module de "Drupal 7", installez les modules :

2.2    Configuration du module Token

Dans le menu "Configuration", block "Recherche et métadonnées", lien "URL simplifiées" pour s’assurer que le rewriting est possible via "Drupal 7" : la case "Activer les URL simplifiées" doit être cochée.

URL-simplifiée

2.3    Configuration du module Pathauto

Dans le menu "Configuration", block "Recherche et métadonnées", lien "Alias URL" : dans l'onglet "Patterns " définir la structure des URL générées.

Chaque zone de texte permet de définir la structure des URL en fonction du type de contenu à afficher :

pathauto-patterns

Dans l’exemple ci-dessus, le type de contenu ainsi que le titre du contenu sont spécifiés dans l’URL.

Le lien "Browse availabe tokens", permet de connaitre les mots clés pris en compte par ce mécanisme :

pathauto-available-token

Dans l’onglet "Paramètres", il est possible de définir l’action pour les caractères non pris en compte dans la construction d’une URL. En bas de l’écran, en dépliant l’option "Punctuation" :

URL-ponctuation

Trois actions possibles :

    • Ne pas prendre en compte le caractère
    • Remplacer le caractère par le séparateur par défaut
    • Pendre en compte le caractère

Les deux derniers onglets de la configuration du module Pathauto, permettent de gérer les alias déjà créés :

    • Delete aliases : permet de supprimer les alias des contenus existants.
      Il est possible de préciser le type de contenu à supprimer.
    • Bulk generate : permet de générer les alias des contenus existants
      Il est possible de préciser le type de contenu à générer.

Le premier  onglet, "Lister", affiche la liste des alias créés. Cela permet de voir rapidement si la configuration du module est correcte ou non :

URL-alias-1

La structure est bonne, l’URL aura bien le type de contenu et le titre de celui-ci.

Ce qui se vérifie dans le navigateur

URL-naviagteur-1

 

2.4    Problème de caractère accentué

Par contre pour le premier contenu de la liste, le titre étant "Bégonia ‘Million Kisses Amour’", l’accent de "Bégonia" est présent dans l’alias. La prise en compte par les outils de référencement ne sera peut être pas possible ainsi que l’affichage de la page par certains navigateurs.

Pour corriger cela il faut installer un nouveau module :

Dans le menu "Configuration",  block "Recherche et métadonnées", lien "Alias URL" : dans l’onglet "Paramètres", s’assurer que la case "Transliterate prior to creating alias" soit cochée.

En supprimant et recréant les alias on a bien le résultat attendu, aucun alias n’a de lettre accentuée :

URL-alias-2

Ce qui se vérifie dans le navigateur :

URL-naviagteur-2

Enregistrer

Un commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.