Pergunta

Eu tenho um site ASP.NET 2.0 com uma página 404 personalizada. Quando o conteúdo não for encontrado o local serve a página personalizada 404 com uma adição string de consulta de aspxerrorpath = / mauro.aspx. A página 404 si é servido com um HTTP estado de 200. Para tentar resolver esse I' Adicionamos

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

Eu adicionei o Google widget e têm dois problemas com ele. Em Internet Explorer 7 ele não exibe onde deveria. Se eu adicioná-lo ao conteúdo, eu recebo um "erro desconhecido" na Char 79 linha 226 ou por aí; se eu adicioná-lo à secção da cabeça as caixas de pesquisa aparecem acima do conteúdo. No Firefox trabalha muito bem.

Assim, meus problemas são:

  1. Como posso fazer o widget aparecerá em linha?
  2. Como posso fazer a página de erro processar como um 404 com o original nome e o caminho do ser arquivo pediu para que quando eu solicitar mauro.aspx I obter o conteúdo para o Página 404, mas com a URL de mauro.aspx? (Presumo que vou tem que fazer alguma URL reescrita na begin_request arquivo global, mas gostaria que esta confirmada antes de eu fazer qualquer coisa tola.)
Foi útil?

Solução 2

Eu já lidou com a 404, fazendo isso no arquivo global

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");
    }
}

Agora, se alguém pode me ajudar com o google widget que seria ótimo!

Outras dicas

Há um novo modo de redirecionamento no ASP.NET 3.5 SP1 que agora você pode usar para que ele não redirecionar. Ele mostra a página de erro, mas mantém o URL do mesmo:

"Também agradável para redirecionamentos de URL. Se você definir o redirectMode em no web.config para 'responseRewrite' você pode evitar um redirecionamento para uma página de erro personalizada e deixar o URL no navegador intocado."

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top