私は、Test.htmというスタートアップページを持つサイトを持っています。サイトは一時的にダウンしており、サイトが読み込まれるとエラーページが表示されます。 error.htmというページがあります。これはどのように可能ですか?ASP.NETはページを新しいURLにリダイレクトします
ありがとうございます!
私は、Test.htmというスタートアップページを持つサイトを持っています。サイトは一時的にダウンしており、サイトが読み込まれるとエラーページが表示されます。 error.htmというページがあります。これはどのように可能ですか?ASP.NETはページを新しいURLにリダイレクトします
ありがとうございます!
ちょっと考えましたが、response.redirectが見えましたか?
ASP.NETがトラップにあなたをできるようにし、それらが発生したときにエラーに応答三つの主要な方法で提供します。のPage_Errorを、のApplication_Error 、アプリケーション構成ファイル(Web.config)。
1.のPage_Errorイベントハンドラが ページレベルで発生したエラーをトラップする方法を提供し、あなたが3.Ifは2.Youはあなたのアプリケーション で発生するエラーをトラップするのApplication_Errorイベントハンドラを使用することができますServer.ClearErrorを呼び出さず、Page_ErrorまたはApplication_Errorイベントハンドラでエラーをトラップすると、エラーはWeb.configファイルのセクションの設定に基づいて処理されます。 セクションでは、デフォルトのエラーページ(defaultRedirect)としてリダイレクトページを指定するか、発生したHTTPエラーコードに基づいて特定のページを指定できます。
あなたが要求したときに404のを返すにあなたのアプリケーションを強制的にあなたのweb.configファイルをハックすることができ
<customErrors defaultRedirect="http://hostName/applicationName/errorStatus.htm" mode="On"> </customErrors>
カスタムページにユーザーをリダイレクトするためのGlobal.asaxページに のcustomErrorsセクションを次のコードを追加する必要があります。次に、404エラーページを上書きして、「エラー」ページにします。
<httpRuntime enable="false" />
<customErrors mode="On" defaultRedirect="~/errors/GeneralError.aspx">
<error statusCode="404" redirect="~/error.htm" />
</customErrors>
あなたはapp_offline.htmページを使用することができます。 asp.netがこのページをrootで見つけたら、あなたはそのページにこのページを尋ねて、サイトはダウンしています。それがダウンして、サイトを持っていない
第二の方法、アプリケーションに要求を開始、としてあなたが好きなページにリダイレクトします
protected void Application_BeginRequest(Object sender, EventArgs e)
{
string cTheFile = HttpContext.Current.Request.Path;
// just double check in case that htm proceed from asp.net
if(!cTheFile.EndsWith("test.htm"))
{
System.Web.HttpContext.Current.Response.Redirect("test.htm", true);
return;
}
}