Aller au contenu Aller au menu Aller au sous menu Aller à la recherche

Ligams » Publications » Référencement » Réecriture d'URL asp.net et IIS

Réecriture d'URL asp.net et IIS

La réecriture d'URL n'est pas seulement possible avec apache et un fichier .htaccess. La technologie Microsoft ASP.net offre également cette fonctionnalité, qui est facile à mettre en place. Un article en fait la description détaillée sur le site MSDN de Microsoft, nous en ferons ici la synthèse pour mettre en place rapidement la réecriture d'URL sur un site internet dynamique.

Le fichier web.config : activer la réecriture

Tout d'abord, il faut indiquer au serveur que l'on souhaite utiliser la réecriture d'URL, lorsque l'on crée un projet Visual Studio, on a par défaut 2 entrées commentées dans le fichier Web.config :

<!--
<httpModules>
 <add type="URLRewriter.ModuleRewriter, URLRewriter" 
 name="ModuleRewriter" />
</httpModules>
-->

<!--
<httpHandlers>
 <add verb="*" path="*.aspx" 
 type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
-->

Décommentez tout d'abord httpModules pour lancer le module de réecriture, ou httpHandlers pour utiliser le gestionnaire de réecriture. Si vous êtes plus habitués au serveur Apache qu'à IIS, ces opérations sont à peu près analogues à :

 

puis

 

Les règles de réecritures

Les règles de réecriture sont également placées dans le fichier web.config :

<RewriterConfig>
    <Rules>
        <RewriterRule>
            <LookFor>expression recherchée</LookFor>
            <SendTo>chaine de remplacement</SendTo>
        </RewriterRule>
    </Rules>
    <!-- //...-->
</RewriterConfig>

A chaque règle de réecriture correspond un noeud RewriterRule, l'expression à rechercher dans l'URL est défini dans le sous-noeud LookFor, la page qui sera affichée sera dans le sous-noeud SendTo. Les règles sont évaluées de haut en bas, et le processus s'arrête à la première correspondance (cela correspond au flag [L] d'Apache )

A noter qu'il est possible en utilisant la classe ModuleRewriter de personnaliser les comportements de la réecriture, ce qui est particulièrement appréciable.

Exemple ancien/nouveau :

Le classique :

<RewriterRule>
    <LookFor>~/nouveau\.aspx</LookFor>
    <SendTo>~/ancien.aspx</SendTo>
</RewriterRule>

Exemple avec une URL dynamique :

L'utilisation d'expression régulière est bien entendu possible :

<RewriterRule>
    <LookFor>~/(\S*)\.aspx</LookFor>
    <SendTo>~/page.aspx?id=$1</SendTo>
</RewriterRule>

Cela redirigera "page.aspx?id=ma_page" vers "ma_page.aspx".

Intérêts de la réecriture d'URL

Intérêt de la réecriture d'URL pour le référencement naturel

D'après les dires, la réécriture d'URL ne serait plus d'actualité pour un bon référencement naturel.

Je ne suis pas totalement d'accord : certes les moteurs de recherches indexent très bien les pages web comprenant des variables, mais ils attribuent une importance non négligeable au texte des URLs, la réecriture permet d'éliminer tous les textes inutiles (exemple : nom de variable pas représentatif, extension...).

Intérêt de la réecriture d'URL pour l'ergonomie

De plus, il arrive que les utilisateurs avertis surfent directement en modifiant l'URL dans leur barre d'adresse, la suggestion du navigateur permet à l'utilisateur de plus facilement identifier la page qu'il souhaite trouver.

Conclusion

La réecriture d'URL n'est pas une exclusivité d'Apache, c'est parfaitement possible de l'implémenter sur un site .NET. C'est même plus simple, et plus facilement personnalisable à mon sens.

Encore aujourd'hui, il y a toujours un intérêt à réecrire ses URLs, en terme de référencement et d'ergonomie.

Commentaires

Les commentaires sont tous validés par un modérateur, votre commentaire n'apparaît pas directement sur le site.
Aucun support n'est assuré ici, vous pouvez néanmoins laisser vos remarques et critiques sur l'article, les points de vue pertinents sont toujours les bienvenus.

Votez pour cet article

Vote: 4,00/5
(Nombre de votant(s) : 1)

Traduction automatique

Recherche

Ligams © 2009 tous droits réservés - Contact | Aide à la navigation | Plan du site | Glossaire | Infos légales | Accessibilité