Google 404および.NETカスタムエラーページ
-
02-07-2019 - |
質問
カスタム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では正常に動作します。
だから私の問題は:
- ウィジェットを表示するにはどうすればよいですか インライン?
- エラーページの作成方法 元の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をそのままにしておくことができます。"
所属していません StackOverflow