Une URL signifiante est une URL facile à lire, à comprendre, à mémoriser et donc à communiquer.
Pour cela, l'adresse de chaque page d'un site est construite de manière à donner le plus d'information éditoriale et le moins d'information technique possible. Par exemple :
Cette fonctionnalité est d'un grand intérêt dans les wikis, permettant à l'utilisateur, pour peu qu'il connaisse bien l'adresse du site, de mémoriser, voire de deviner facilement l'adresse d'une page.
Pour cela, l'administrateur technique du site à mis en place une solution technique permettant aux adresses de s'affranchir de toute donnée technique : si la technique change, le lien ne changera donc pas. La réécriture d'URL permet d'avoir des URL indépendantes de tout aspect technique relatif au moteur de Wiki. Concrètement :
Hormis le fait d'être indépendante de la technique, ces adresses sont plus courtes, plus faciles à mémoriser, à communiquer, à écrire.
Solutions techniques
Avec un serveur web Apache
La réécriture d'URL est effectuée sur Apache par le module mod_rewrite. La documentation d'Apache lui dédie un guide spécialisé :
Apache 1.3 URL Rewriting Guide [en].
Avec un serveur web IIS
Les serveurs Microsoft IIS 4.0 et 5.0 ne possèdent pas de fonction ou de module de réécriture d'URL. Pour quelques dizaines d'euros par serveur, des produits commerciaux comblent cette lacune ; on verra :
La plupart de éditeurs proposent une version gratuite allégée de leur produit.
Des exemples de réalisation
- WikiNi les URLs signifiantes (sous réserve de la configuration du logiciel serveur web)
- DotClear propose une fonction "d'URLs significatives".
Références
Idée de solution sans configuration du serveur
Je pense qu'il doit être possible de mettre des URL signifiantes sans avoir à configurer le serveur HTTP. Voici l'idée générale:
- wakka.php devient index.php, cela permet de ne pas être obligé d'indiquer le nom du fichier script à exécuter.
- Il faut parser $_SERVER['query'] (je crois) pour analyser la requète et savoir la page demandée.
Ainsi la requête
http://www.xxx.yy/wiki/?PagePrincipale sera équivalante à
http://www.xxx.yy/wiki/index.php?wiki=PagePrincipale et
http://www.xxx.yy/wiki/?PagePrincipale/edit sera équivalante à
http://www.xxx.yy/wiki/index.php?wiki=PagePrincipale/edit par exemple.
L'URL n'est pas aussi signifiante qu'avec l'URL rewriting mais il y a un net progrès et cela pourrait être très utile pour ceux que la configuration de l'URL Rewriting inquiète. --
GarfieldFr
Tout à fait d'accord, j'ai proposé cette idée de mon côté (
JeremieCook) sans connaître cette page. --
JeremieCook