Domanda

Ho un sito Web ASP.NET 2.0 con una pagina 404 personalizzata. Quando il contenuto non viene trovato, il sito offre la pagina 404 personalizzata con un'aggiunta alla stringa di query di aspxerrorpath = / mauro.aspx. La stessa pagina 404 è servita con uno stato HTTP di 200. Per provare a risolvere questo I ' ho aggiunto

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

Ho aggiunto il widget di Google e ho due problemi con esso. In Internet & nbsp; Explorer & nbsp; 7 non viene visualizzato dove dovrebbe. Se lo aggiungo al contenuto, visualizzo un errore "sconosciuto" " su char 79 linea 226 o giù di lì; se lo aggiungo alla sezione head, le caselle di ricerca vengono visualizzate sopra il contenuto. In Firefox funziona bene.

Quindi i miei problemi sono:

  1. Come faccio ad apparire il widget Inline?
  2. Come si crea la pagina di errore render come 404 con l'originale nome e percorso del file richiesto in modo che quando chiedo mauro.aspx Ottengo il contenuto di 404 pagina, ma con l'URL di mauro.aspx? (Suppongo che lo farò devi fare un po 'di riscrittura degli URL nella begin_request file global.asax, ma vorrei questo confermato prima di me fare qualcosa di stupido.)
È stato utile?

Soluzione 2

Ho gestito il 404 facendo questo nel file 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");
    }
}

Ora, se qualcuno mi può aiutare con il widget di Google sarebbe fantastico!

Altri suggerimenti

Esiste una nuova modalità di reindirizzamento in ASP.NET 3.5 SP1 che ora è possibile utilizzare in modo che non reindirizzi. Mostra la pagina di errore, ma mantiene lo stesso URL:

" Bello anche per i reindirizzamenti URL. Se imposti redirectMode su web.config su " responseRewrite " puoi evitare il reindirizzamento a una pagina di errore personalizzata e lasciare intatto l'URL nel browser. "

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top