dimanche 14 avril 2013

Ré-écriture des url avec une page dynamique php avec paramètres

Voici comment faire pour utilisé la ré-écriture des url par le serveur pour avoir des url simple à partir de page php avec des paramètres.

Exemple pour cette page : Ré-écriture des url
Cette page est afficher a l'aide de l'url suivant avec des variables

  •  index.php?cat=programmation-web&sous_cat=php&page=re-ecriture-url

La ré-écriture par le serveur de cette page me permet d'utiliser l'adresse :
  • /programmation-web/php/re-ecriture-url.html
Voici comment ça marche :
Il y a un fichier .htaccess a la racine du site avec les informations suivantes :
RewriteEngine On
RewriteBase /
RewriteRule ^programmation-web/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+).html$ index.php?cat=programmation-web&sous_cat=$1&page=$2  [L]

Avec ces 3 lignes de code, une redirection serveur
ce fait automatiquement quand le serveur reçoit un url du genre :
  • programmation-web/premier_parametre/deuxieme_parametre/troisieme_parametre.html
et fait l'appel au fichier index.php avec les 3 paramètres dans l'ordre.
Dans mon cas ces paramètres sont ceux de la catégorie de la page, de la sous catégories et de la page(cat, sous_cat et page).

Page réellement appeler : index.php?cat=programmation-web&sous_cat=php&page=re-ecriture-url

Le but d'utiliser ce type de modification est d'améliorer le référencement de vos page par les moteur de recherche et permet d'avoir de meilleur statistique avec Google Analitics.

ATTENTION
Ceci fonctionne avec des paramêtres qui sont composé de chiffre 0 è 9 et des lettres minuscule ou majuscule, un tiret (-), un underscore(_). Ces caractères son définie par ([A-Za-z0-9-_]+)  et tout autre caractère utiliser en paramêtre ne fonctionnera pas. Exemple : programmation-web/premier_paramètre/deuxième_paramètre/troisième_paramètre.html contient des accent et ne marchera pas. Évidemment éviter aussi les espaces. 

Aucun commentaire:

Enregistrer un commentaire