質問

カスタム404ページを持つASP.NET 2.0 Webサイトがあります。コンテンツが見つからない場合、サイトはaspxerrorpath = / mauro.aspxのクエリ文字列を追加してカスタム404ページを提供します。 404ページ自体は、 HTTP ステータス200で配信されます。これを解決するには、追加しました

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

Googleウィジェットを追加しましたが、2つの問題があります。 Internet  Explorer  7 では、どこに表示するかは表示されません。コンテンツに追加すると、「不明なエラー」が表示されます。文字79行226またはその周辺;ヘッドセクションに追加すると、コンテンツの上に検索ボックスが表示されます。 Firefoxでは正常に動作します。

だから私の問題は:

  1. ウィジェットを表示するにはどうすればよいですか インライン?
  2. エラーページの作成方法 元の404としてレンダリングする 存在するファイルの名前とパス 要求したので、私が要求するとき mauro.aspxのコンテンツを取得します 404ページ、ただしURLは mauro.aspx? (私はそうするだろうと思います いくつかの 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");
    }
}

今、もし誰かがグーグルウィジェットで私を助けてくれたら素晴らしいでしょう!

他のヒント

ASP.NET 3.5 SP1には、リダイレクトしないように使用できる新しいリダイレクトモードがあります。エラーページは表示されますが、URLは同じままです:

" URLリダイレクトにも適しています。 web.configでredirectModeを" responseRewrite"に設定した場合カスタムエラーページへのリダイレクトを回避し、ブラウザのURLをそのままにしておくことができます。"

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top