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 (Lien avec paramêtres)
La ré-écriture par le serveur de cette page me permet d'utiliser l'adresse :
- /programmation-web/php/re-ecriture-url.html (Lien avec re-write)
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
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.