Accueil   |   Forums   |  Offres d'emplois   |  Contact    |   Mon compte   
vendredi 16 mai 2008 Rechercher :
Déposez votre CV gratuitement sur touslesemplois
 
comparer les prix
» Logiciels
» Jeux vidéos
» Matériel Informatique


» ASP.NET
» ASP
» SQL
» PHP
» JAVASCRIPT
» XML
 


» ACTUALITÉ / DIVERS
» DROIT DE L'INTERNET
» INFOS VIRUS
» PATCHS MICROSOFT
» SÉCURITÉ
» BASES DE DONNÉES
» DOWNLOAD .NET
» LOGITHÈQUE
» SERVICES WEB
» Y SONT FOUS !
» .NET
» ASP
» ASP.NET
» JAVA
» PHP
» XML
» LANGAGE C#
» LANGAGE VB.NET
» UNIX / LINUX
» WINDOWS
» EVÈNEMENTS
» GASP
» MICROSOFT
 



Vous êtes ici : Articles ASP > TRUCS ET ASTUCES

Allez plus loin avec les messages d'erreur 404.
Dans l'article http://www.webreference.com/new/011004.html vous avez appris comment créer un écran d'erreur 404 personnalisé qui propose de revenir à la page précédente, donner des liens vers des parties principales du site etc (sinon, faites un saut sur cette page avant de continuer la lecture de l'article).


ABONNEZ-VOUS GRATUITEMENT A LA REVUE DE PRESSE "LES Z'ACTUS" ET RECEVEZ CHAQUE JOUR DANS VOTRE BOITE AUX LETTRES LA MEILLEURE INFORMATION DEDIEE AUX WEBMASTERS / DEVELOPPEURS.

Indiquez votre adresse E-mail :

Technologie : ASP 
Date : 29/05/2006   
Auteur : RACINE SA
L'objet de notre article est de savoir si nous pouvons utiliser le mécanisme de redirection pour d'autres raisons. Nous en avons trouvé quelques unes:
  • 1. Continuer d'assurer les liens vers les pages du site après sa restructuration (évoqué dans l'article "Friendly 404 Errors")
  • 2. Créer des liens avec des noms parlants (évoqué dans l'article "Friendly 404 Errors")
  • 3. "Tromper" le moteur d'indexation
  • 4. Organiser des liens "magiques" permettant de connaître l'efficacité de vos mailings, par exemple

Remarques à l'article http://www.webreference.com/new/011004.html

  • a) L'erreur 404 apparaît si la page demandée est statique. N'oubliez pas de paramétrer les messages d'erreur 403 pour les appels erronés des scripts asp, php, jsp ... Vous pouvez faire la redirection sur la même page de gestion de l'erreur.

  • b) La page d'affichage d'erreur est, en général, unique pour tout le site web. Si IIS détecte un lien erroné dans un répertoire existant de votre site, il exécute la page d'erreur dans le contexte de ce répertoire. Si, sur votre page d'erreur vous affichez des images ou intégrez des jscripts en indiquant un chemin relatif, cela risque de ne pas marcher.
    Exemple : vous avez un répertoire www.mysite.com/products/
    Votre page d'erreur se trouve dans la racine du site : www.mysite.com/err_404.asp
    Sur votre page d'erreur, vous affichez le logo de la société : <img src="images/logo.gif">

    Si l'utilisateur demande un lien erroné www.mysite.com/abc.htm, l'image est affichée correctement. Par contre, si la demande est www.mysite.com/products/abc.htm, le script err_404.asp est exécuté, mais l'image ne sera pas affichée.

    Pour résoudre ce problème, utilisez des chemins url absolus ou ajoutez une redirection supplémentaire dans la page err_404.asp sur elle-même pour changer le contexte : Response.Redirect("/err_404.asp?" & Request.QueryString)

  • c) Faites très attention aux variables "HTTP-REFERRER" et "HTTP-HOST" car ces données sont souvent cachées ou déformées par les serveurs proxy. Evitez de baser vos scripts importants sur ces variables.

Assurer les liens après la restructuration du site.


Votre site est connu par vos partenaires, par les moteurs de recherches et par les internautes au travers de liens vers ses différentes pages. Au fil du temps, il est amené à subir des changements au niveau de l'information mise en ligne, comme la structure de pages, scripts et images. Quand vous changez l'adresse d'une page, vous êtes obligé de soutenir en quelque sorte l'adresse précédente, car les ressources externes afficheront toujours le lien vers l'adresse précédente.

Vous pouvez créer un Jscript de redirection ou des tags <META> permettant de réaliser la redirection vers la nouvelle adresse, mais cela vous oblige à garder quand même un morceau de code à l'ancienne adresse. Le moyen d'éviter cela est d'utiliser le mécanisme de redirection de l'erreur 404.

Supposons que vous avez une page de présentation de produit à l'adresse suivante :
www.fw-application.com/quality/ml_demo.asp 

Cette présentation se développe par la suite vers une série de pages contenant la spécification, les fonctionnalités, les événements associés, vous préférez grouper ces pages sous un code de produit, par exemple 02. Les pages du sites deviennent :
www.fw-application.com/prd02_01.asp - spécification
www.fw-application.com/prd02_03.asp - fonctionnalités
...
www.fw-application.com/prd02_05.asp - démo

....

Donc, notre lien ml_demo.asp est devenu prd02_05.asp. Comment faire pour rediriger les appels de l'ancienne adresse ?

  • 1. Supprimez la page ml_demo.asp
  • 2. Dans le script d'affichage de l'erreur 404, avant toute réponse au client, réalisez un test de lien erroné :
    tmpExpr = Request.QueryString.Key(1)
    if not instr(tmpExpr,"ml_demo.asp")=0 then
    Response.Redirect("/prd02_05.asp")
    end if

Votre redirection est assurée.

Pour généraliser notre petit "routeur", créons une fonction de test :
Sub RedirectRequest(RequestedPage, RedirectPage)
if not instr(tmpExpr,RequestedPage)=0 then 'variable tmpExpr étant une variable globale
Response.Redirect(RedirectPage)
end if
end sub


avec des appels :
if Request.QueryString.Count=1 then
tmpExpr = Request.QueryString.Key(1)
RedirectRequest "ml_demo.asp", "/prd02_05.asp"
end if


Pourquoi avons- nous ajouté un test sur le nombre de paramètres de type "Get" ? Parce que si la page est appelé avec plus de paramètres, cela veut dire que ce n'est pas IIS qui a fait la redirection.

Créer des liens avec des noms parlants

Dans l'exemple précédent, nous avons créé une présentation produit avec la référence suivante :
www.fw-application.com/prd02_01.asp - spécification

Il est vrai que ce type de lien à la lecture n'inspire pas beaucoup quant à son contenu.
Ce produit traite un composant multilangue, cela serait préférable d'avoir un lien du type : 
www.fw-application.com/fwa_multilingual

Avec le routeur de l'exemple précédent, aucun problème. On rajoute un test supplémentaire :
RedirectRequest "/fwa_multilingual", "/prd02_01.asp"

Ainsi notre lien est assuré. Vous pouvez maintenant référencer votre produit sur les sites spécialisés, dans vos mails et articles avec ce lien "parlant".

"Tromper" le moteur d'indexation

L'origine du problème est que les moteurs d'indexation comprennent mal les liens dynamiques. Nos sites, basés sur un affichage d'information en liaison avec une base de données se retrouvent coincés dans cet impasse. Nous affichons les fiches de nos produits, par exemple :
www.mysite.com/fiche.asp?id_prd=1 - pour produit 1
www.mysite.com/fiche.asp?id_prd=2 - pour produit 2


Nous espérons que les moteurs d'indexation viennent inspecter nos pages de produits, les référencer et les proposer en réponse aux chercheurs. Mais manque de bol, les paramètres GET (c.a.d. id_prd=..) ne sont pas toujours exploités par les moteurs d'indexation qui se contentent de visiter la page sans ces paramètres.
Ceci est un problème à résoudre.

Avec le mécanisme de redirection de l'erreur 404, on peut imaginer une petite astuce permettant de tromper les moteurs d'indexation.

Sur la page d'accueil, organisons une liste de liens vers des pages imaginaires sans paramètres get de type html, asp, jsp ou autre. Le fichier de gestion d'erreur va être exécuté à chaque appel de ce lien par le moteur d'indexation et rediriger la demande vers la bonne page. Comme le renvoi vers une autre page se passe du côté serveur, le moteur d'indexation ne s'aperçoit pas de toutes ces redirections. Il référence donc nos liens.
Quand le chercheur clique sur ce lien dans les résultats de recherche, la même procédure est répétée.

Procédure :
1. Sur la page d'accueil, ajoutons des liens : prds/prd1.htm, prds/prd2.htm (ces fichiers n'existent pas sur le site)
2. Au niveau du routeur de l'erreur 404, ajoutez les redirections :
RedirectRequest "/prd1.htm ", "/fiche.asp?id_prd=1"
RedirectRequest "/prd2.htm ", "/fiche.asp?id_prd=2"


Deux petites remarques :

  • 1. Utilisez forward avec les jsp plutôt que redirect (vous serez sûr à 100% de tromper le moteur).
  • 2. Ce type d'indexation peut être interprété comme du spam
  • 3. Le référencement des pages du site contenant des cadres vous oblige à ajouter des petites macros jscript sur vos pages, interdisant la visualisation de la page en plein écran, comme le fait le site de Microsoft.

Organiser des retours de vos mailings en créant des liens "magiques"

Qui ne rêve pas de savoir, quelles personnes ont cliqué sur le lien proposé dans votre mailing, de connaître de quelle source viennent les internautes, en un mot, de mieux pister nos chers visiteurs.

Pour cela, un outil de lien "magique" peut apporter une aide précieuse.
Supposons que votre lien cible soit :
www.fw-application.com/prd02_01.asp - spécification du composant multilangue

Vous créez un lien "parlant" vers cette page : www.fw-application.com/fwa_multilingual (voir les détails dans le châpitre sur les liens "parlants")

Dans votre mail à Monsieur abc@hotmail.com, vous envoyez 
<A href="http://www.fw-application.com/fwa_multilingual.asp?e_mail=abc@hotmail.com">www.fw-application.com/fwa_multilingual</A>

Pour Monsieur Abc, le lien apparaît comme un simple lien vers le site. Après l'appel de ce lien, le serveur détecte l'absence de la page demandée, redirige la réponse vers la page de gestion de l'erreur 404. Dans cette page, votre macro : 

  • 1. détecte la page cible : prd02_01.asp
  • 2. enregistre l'événement de demande de lien avec un paramètre d'e-mail abc@hotmail.com
  • 3. redirige la réponse vers la page cible

Ainsi, après votre mailing, vous savez qui a cliqué sur vos liens et combien de temps il y a eu entre votre envoi et l'arrivé sur votre site du destinataire de message.

Vous pouvez même, après une petite réflexion, organiser une sorte de confirmation de lecture de mail par le destinataire. Envoyez vos idées à l'adresse suivante : dimitri@racine-online.com 

Ces astuces de gestion de l'erreur 404 nous ont permis de construire un outil de gestion de la campagne de mailing, permettant l'envoi des mails personnalisés, la constatation de lecture du mail, du click sur un lien, etc.
Vous pouvez demander des renseignements sur l'outil "Fwa mailing stats" vous permettant d'avoir cette statistique. (le produit n'est pas présenté à l'heure actuel sur le site)



Proregna - L'hébergement ASP.NET


A RETENIR CETTE SEMAINE
16/05/2008 - Logiciels Microsoft gratuits pour les étudiants
Vous êtes étudiant ? N’attendez pas pour télécharger* gratuitement et utiliser les derniers logiciel ...
16/05/2008 - Lillois, ne manquez pas les Wygdays 2008
Le 22 mai prochain à Lille, vous êtes invité à un événement unique dédié aux développeurs, organisé ...
16/05/2008 - Flash 10 est dans les bacs, Silverlight prend du retard
On est peut-être à un tournant très important de la bataille que se livrent Microsoft et Adobe sur l ...
15/05/2008 - Comment manipuler simplement le contenu d'un fichier WordML ?
Le format WordML (et plus largement OpenXML ) est une grande avancée: il permet de manipuler les doc ...
15/05/2008 - Package d'installation réseau de Windows XP Service Pack 3 pour les informaticiens
Ce package d'installation est destiné à permettre aux informaticiens et aux développeurs de configur ...
15/05/2008 - Mono supporte désormais Windows Forms et Silverlight
Jour de gloire pour le projet Mono. Miguel de Icaza annonce tout d'abord sur son blog la première re ...
14/05/2008 - Deux Services Packs en bêta pour Visual Studio
Microsoft annonce deux Services Packs en version bêta pour Visual Studio 2008 et pour le framework . ...
(c) 1999-2006 ASP MAGAZINE SARL
Partenaires : Codes sources c2i ASP-PHP
Hébergement serveurs dédiés Windows


Hit-Parade