Blog Search & Social SEO, SEA et SMO

ASP.NET 2 + URL rewriting bug nocif au référencement naturel

Publié le 21 juillet 2006 par | 2 réactions | 271 lectures

C’est un bug sérieux d’ASP.NET 2 quand on met en place l’URL Rewriting et qui empêche l’indexation du site par les moteurs de recherche et notamment Google, qui nous a été signalé et découvert par Nicolas Sorel éditeur du site CodeS-sourceS.com, que je vous livre ici avec la solution et son autorisation. Merci et bien joué Nicolas !

Si vous développez en ASP.NET 2 et que vous faites de l’url rewriting, alors prenez 2 minutes pour lire ce post, il peut sauver votre site Internet d’une disparition des moteurs de recherche…

En Février 2006 j’ai rapporté un bug que j’avais trouvé. Si je décide d’en parler aujourd’hui sur mon blog c’est parce que je considère que ce bug a atteint un niveau de conséquence catastrophique, comme l’exemple que j’ai signalé pour CommunityServer 2.0. N’ayant toujours pas de patch disponible je pense qu’il est bon pour les développeurs web ASP.NET 2 qui feraient du rewriting de savoir que leur(s) site(s) pourrai(en)t ne pas être indéxé dans Google & co à cause de ce bug. (En tout cas les pages de contenu, une home page ne devrait pas être touchée ou alors le site est bizarrement codé)

Pour remettre dans le contexte et bien comprendre le problème, j’avais mis en place sur CodeS-SourceS du rewriting pour avoir des url plus « humainement » lisibles et pourquoi pas améliorer le référencement de ces mêmes pages au passage.

Donc aux alentours de Février 2006 j’ai décidé de rewriter la section des codes (si mes souvenirs sont bons). Tout se passait bien, cela marchait à merveille. Au bout de quelques jours, j’ai regardé le gestionnaire d’évènement et j’avais un tas d’erreurs étranges du genre :

Exception information:

  Exception type: HttpException   Exception message: Cannot use a leading .. to exit above the top directory.

  Stack trace:    at System.Web.Util.UrlPath.ReduceVirtualPath(String path)

Je ne m’inquiétais pas trop jusqu’au moment où je me suis aperçu que j’avais +2000 par heure !

C’est là que tout à commencé : « Mais bon sang ! C’est quoi cette erreur ? »

Le pire, c’est qu’en local je n’avais pas ce genre d’erreur… Je vous passerai les détails de tout le temps passé à essayer de comprendre ce mystérieux crash. Après plusieurs heures jours de tests, bidouilles j’en passe et des meilleurs pour essayer de comprendre le problème, j’ai enfin cerné l’ensemble du problème et surtout j’ai compris que j’avais mis le doigt sur un bug assez critique (et pas si facile à détecter si on est pas assez consciencieux en regardant les logs régulièrement par exemple, vous pouvez être victime de ce bug sans vous en rendre compte)

Voici donc ce qui se passe :

Attention, ce bug n’affecte pas cassini (le server web qui est lancé avec Visual Studio 2005) donc n’essayez pas de reproduire en local, cela ne marchera pas, il faut que le site soit sur un IIS 6 sous Windows 2003 (En gros en production).

Lorsque l’on fait du rewriting en .NET 2 on utilise la méthode Context.RewritePath. (J’ai mis à disposition un zip ICI avec un projet de test pour reproduire le problème)

La suite de la solution et entièrement détaillée ici.

Ce bug est tellement sérieux que Matt Cutts en parle également sur son blog.







A lire sur les thèmes Référencement Naturel, , , , , ,


Laisser un commentaire


Le blog Search & Social Marketing est édité par la Sponzy Team de 1ère Position : Agence Conseil en Marketing Digital et Référencement.

Besoin de développer votre trafic ciblé et vos performances sur le Web ? Contactez-nous pour un devis, rapide avec audit personnalisé.







Formation Référencement

Articles récents

Vos commentaires