Url Rewriting
"L'URL-rewriting est une réécriture d'URL. La technique consistant à réécrire sous forme plus simple des URLs complexes. Cette technique est transparente pour l'internaute ainsi que pour les moteurs de recherches. Le but principal est d'obtenir un meilleur référencement." cf kdj-webdesign.com
Le but de ce tutoriel est de transformer de façon transparente pour l'utilisateur ce genre d'url :
Au lieu d'avoir ce type d'adresse : http://www.lesite.com/product.aspx?id=1&name?leNomDeMonProduit
on préférera la transformer en : http://www.lesite.com/leNomDeMonProduit.html
A. Première technique
1) Ajouter la DLL nécessaire dans le répertoire Bin de votre site web
ThunderMain.URLRewriter.dll (4,50 kb) ou sur le site du projet "code source" :http://www.codeproject.com/aspnet/URLRewriter.asp
Clique droit sur le site, puis ajouter une référence pointant sur cette DLL.
2) Ajouter ou modifier le fichier Global.asax
Y ajouter cette méthode :
void Application_BeginRequest(object sender, EventArgs e) { ThunderMain.URLRewriter.Rewriter.Process(); }
3) Modifier le fichier Web.config
a) Ajouter dans la section "configuration" :
<sectionGroup name="system.web"> <section name="urlrewrites" type="ThunderMain.URLRewriter.Rewriter,
 ThunderMain.URLRewriter, Version=1.0.783.30976,
 Culture=neutral, PublicKeyToken=7a95f6f4820c8dc3"/> </sectionGroup>
b) Ajouter dans la section "System.Web" :
<urlrewrites> <rule> <url>product_1.html</url> <rewrite>product.aspx?id=1</rewrite> </rule> <rule> <url>product_2.html</url> <rewrite>article.aspx?id=2</rewrite> </rule> </urlrewrites>
On peut ajouter autant de balises "rule" que l'on désire. On peut également utiliser des patterns comme <url>product_(.*).html</url> etc...
Si cette technique ne marche pas, il se peut que votre serveur web n'interprète pas les pages html comme des pages dynamiques. Il faudra donc modifier la configuration de celui-ci.
B. Deuxième technique
Télécharger la dll à cette adresse : http://urlrewriter.net/
Modifier le web.config comme cela :
Ajouter la section :
<section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" />
Dans le HttpModule :
<add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/>
Après la le </system.web> :
<rewriter> <rewrite url="~/([0-9]+)-(.+).html" to="~/Default.aspx?id=$1&titre=$2" /> </rewriter>