Question

J'ai un site Web ASP.NET 2.0 avec une page 404 personnalisée. Lorsque le contenu n'est pas trouvé, le site envoie à la page 404 personnalisée une addition de chaîne de requête aspxerrorpath = / mauro.aspx. La page 404 elle-même est affichée avec un HTTP statut de 200. Pour tenter de résoudre ce problème, ' ai ajouté

    protected void Page_Load(object sender, EventArgs e)
    {
        Response.StatusCode = 404;
    }

J'ai ajouté le widget Google et je rencontre deux problèmes. Dans Internet & nbsp; Explorer & nbsp; 7 , il ne s'affiche pas à l'emplacement souhaité. Si je l'ajoute au contenu, j'obtiens une " erreur inconnue " au caractère 79, ligne 226 ou à peu près; si je l'ajoute à la section head, les zones de recherche apparaissent au-dessus du contenu. Dans Firefox cela fonctionne bien.

Mes problèmes sont donc les suivants:

  1. Comment faire apparaître le widget en ligne?
  2. Comment créer la page d'erreur? rendre comme un 404 avec l'original nom et chemin du fichier en cours demandé de sorte que lorsque je demande mauro.aspx je reçois le contenu pour le 404 page, mais avec l'URL de mauro.aspx? (Je suppose que je vais faire de la la réécriture d'URL dans le répertoire begin_request global.asax, mais aimerait que cela soit confirmé avant que je faire quelque chose de stupide.)
Était-ce utile?

La solution 2

J'ai géré le 404 en faisant cela dans le fichier global.asax

protected void Application_BeginRequest(object sender, EventArgs e)
{
    string url = Request.RawUrl;
    if ((url.Contains(".aspx")) && (!System.IO.File.Exists(Server.MapPath(url))))
    {
        Server.Transfer("/Error/FileNotFound.aspx");
    }
}

Maintenant, si quelqu'un peut m'aider avec le widget Google, ce serait formidable!

Autres conseils

ASP.NET 3.5 SP1 contient un nouveau mode de redirection que vous pouvez désormais utiliser pour éviter la redirection. Il affiche la page d'erreur, mais conserve l'URL identique:

"Très bien aussi pour les redirections d'URL. Si vous définissez le redirectMode dans web.config sur " responseRewrite " vous pouvez éviter une redirection vers une page d'erreur personnalisée et laisser l'URL intacte dans le navigateur. "

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top