문제

사용자 정의 404 페이지가있는 ASP.NET 2.0 웹 사이트가 있습니다. 컨텐츠를 찾을 수없는 경우 사이트는 aspxerrorpath =/mauro.aspx의 쿼리 문자열을 사용하여 사용자 정의 404 페이지를 제공합니다. 404 페이지 자체는 다음과 같습니다 http 200.

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

Google 위젯을 추가하고 두 가지 문제가 있습니다. ~ 안에 인터넷 익스플로러 7 그것은 어디에 있어야하는지 표시하지 않습니다. 컨텐츠에 추가하면 Char 79 라인 226 또는 그에 대한 "알 수없는 오류"가 나타납니다. 헤드 섹션에 추가하면 검색 상자가 내용 위에 나타납니다. Firefox에서는 잘 작동합니다.

그래서 내 문제는 다음과 같습니다.

  1. 위젯을 인라인으로 보이게하려면 어떻게해야합니까?
  2. Mauro.aspx를 요청할 때 404 페이지에 대한 내용을 얻을 수 있지만 Mauro.aspx의 URL이 포함되도록 요청되는 파일의 원래 이름과 경로가있는 404로 오류 페이지를 404로 렌더링하려면 어떻게해야합니까? (나는 몇 가지를해야한다고 생각합니다 URL 재 작성 begin_request global.asax 파일에서, 그러나 내가 어리석은 일을하기 전에 확인하기를 원합니다.)
도움이 되었습니까?

해결책 2

Global.asax 파일 에서이 작업을 수행하여 404를 처리했습니다.

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

이제 누군가가 Google 위젯으로 나를 도울 수 있다면 좋을 것입니다!

다른 팁

ASP.NET 3.5 SP1에는 새로운 리디렉션 모드가 있으며 리디렉션되지 않도록 사용할 수 있습니다. 오류 페이지가 표시되지만 URL을 동일하게 유지합니다.

"URL 리디렉션에도 좋습니다. web.config에서 readirectMode를"responseereWrite "로 설정하면 사용자 정의 오류 페이지로 리디렉션을 피하고 브라우저의 URL을 손대지 않을 수 있습니다."

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top