Voilà un sujet qui va plaire a certains qui souhaitent changer le nom de leurs page ou améliorer le référencement.
Imaginons que vous avez un site web avec des liens tel que :
- index.php?page=accueil
- index.php?page=contact
etc...
Votre page index.php va inclure une page "accueil.php" ou une page "contact.php".
Problème Google ne vas pas référencer ce qu'il y a apres le "?" donc il va prendre uniquement "index.php".
Voilà une solution pour vous : "l'url rewriting" ou comment réécrire les urls d'une page.
Nous voulons a la place de ces adresses : accueil.html et contact.html, donc dans un premier temps on va vérifier que nous avons le module rewriting dans apache qui se nomme "mod_rewrite".
Maintenant nous allons faire un fichier ".htaccess" avec ce qui suit :
RewriteEngine On RewriteRule ^accueil.html$ /index.php?page=accueil [NC,L]
La première ligne va permettre d'utiliser le module d'apache "mod_rewrite".
La seconde ligne est plus intéressante c'est elle qui va définir notre page "accueil.html" pointe sur "index.php?page=accueil".
Vous pouvez utiliser les expressions régulières par exemple ^ pour le debut de la ligne et $ pour la fin.
A la fin de la ligne vous pouvez voir des flags entre les crochets.
NC signifie No Case donc pas sensible à la case ! Je peux taper ACCUEIL.HTML ou accueil.html ou AcCuEiL.HtmL si je veux.
D'autres flags existent tel que :
RewriteRule ^forbidden.html$ - [F]
Le F envoi un code erreur HTTP 403 (Forbidden) le tiret dit qu'il n'y a pas de réécriture d'url.
RewriteRule ^gone.html$ - [G]
Le G quand a lui renvoi un code erreur HTTP 410 (Gone)
Pour plus d'informations sur les flags : http://httpd.apache.org/docs/2.2/rewrite/rewrite_flags.html
Pour plus d'informations sur l'url Rewriting : http://httpd.apache.org/docs/2.2/rewrite/
2 commentaires pour “Utilisation d'Url Rewriting avec .htaccess”
sirlepape
Bien sympa cette pratique. N'existe t'il pas une solution pour automatiser la manipulation et éviter de mettre une ligne par Rewriting ?
ChoiZ
Une base de donnée et un script .htaccess qui est en fait une page php ?
Laisser un commentaire