|
|||||||||||||||||||||
|
Menu principal
Effectuez une recherche sur la totalité du site : Si vous souhaitez vous aussi écrire sur Game On Net et partager ainsi votre propre expérience, n'hésitez pas à nous contacter.
|
Développement ::
Programmation ::
Le fichier .htaccess (2)Après l’accès protégé à un site, voici l’URL Rewriting. lundi 17 avril 2006 par Prélude Ce simple petit fichier texte qu’est le .htaccess permet néanmoins beaucoup de choses dont une qui est très certainement la plus utilisée : l’URL rewriting.URL RewritingSous ce terme un peu barbare se cache une possibilité très simple, mais très puissante : la réécriture "à la volée" des URL. Pour faire simple, lorsque vous avez une base de données avec, par exemple, des prénoms et que vous souhaitez que vos pages contiennent dans leur adresse les prénoms en question, la réécriture d’URL vous permettra de la faire sans trop de difficulté. Prenons un exemple concret :
http://www.monsite.com/fiche-prenom.php?id=12 Vous souhaitez changer cela et avoir des URLs plus simple de la forme : http://www.monsite.com/fiche-12.htm Comment faire cela à l’aide du fichier .htaccess ? Voici le fichier .htaccess correspondant : RewriteEngine on RewriteRule ^fiche-([0-9]+)\.htm$ fiche-prenom.php?id=$1 [L] La première instruction est indispensable et permet d’indiquer au serveur que la mise en place de la réécriture des URLs à la volée. La seconde instruction indique comment si prendre : RewriteRule : c’est un mot clef : il introduit une règle de réécriture.
La première partie de la règle est composée d’expressions régulières. Ici, nous avons ([0-9]+) qui correspond à des chiffres de 0 à 9 répétés n fois.
Voici quelques expressions régulières à connaître :
Il y en a d’autres plus ou moins complexes que vous pouvez trouver ici : http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriterule Pour aller plus loinC’est bien beau tout ça, mais si au lieu d’avoir une URL du genre : fiche-12.htm, on avait fiche-jean.htm ce serait tout de même un peu mieux, non ?!
La solution la plus simple consiste a rajouter au sein de l’URL le numéro de la fiche en plus du prénom et de ne pas tenir compte du prénom : fiche-jean-12.htm RewriteEngine on RewriteRule ^fiche-[.]*-([0-9]+)\.htm$ fiche-prenom.php?id=$1 [L] Qu’importe le prénom qui se trouve dans l’URL, c’est le numéro de la fiche qui est pris en compte.
http://www.monsite.com/fiche-jean-12.htm
La seconde solution consiste à placer dans la base de données la chaîne qui sera utilisée dans l’URL. Cette chaîne doit être unique afin de pouvoir effectuer des recherches dans la base évidement. Si vous avez plusieurs Jean dans la base, il faudra, par exemple, ajouter un numéro à la fin ou une lettre. RewriteEngine on RewriteRule ^fiche-([.]+)\.htm$ fiche-prenom.php?id=$1 [L] Il vous est possible également de cumuler les règles : RewriteEngine on RewriteRule ^fiche-[.]*-([0-9]+)\.htm$ fiche-prenom.php?id=$1 [L] RewriteRule ^agenda-[.]*-([0-9]+)\.htm$ agenda.php?id=$1 [L] Vous pouvez également avoir plusieurs paramètres : RewriteEngine on RewriteRule ^fiche-([0-9]+)-([0-9]+)\.htm$ fiche-prenom.php?id=$1&page=$2 [L] Au passage, pour les pages d’erreurs, vous pouvez également définir une ligne dans votre fichier .htaccess au début de ce fichier : ErrorDocument 404 /erreur-404.php Si un visiteur demande une page qui n’existe pas, il tombera alors sur la page nommée "erreur-404.php". Il existe encore beaucoup de possibilités pour ce petit fichier .htaccess que nous verront dans un prochain article. Rubrique
:: Développement
:: Programmation
|
|
|||||||||||||||||||
|
.:: Magazine réalisé par Prélude :: Partenaires : Gamers'room - PBeM News - AFC - jeux-web.com - PBeM Exchange ::.
|
|||||||||||||||||||||