2012-04-30 21 views
1

私は、Test.htmというスタートアップページを持つサイトを持っています。サイトは一時的にダウンしており、サイトが読み込まれるとエラーページが表示されます。 error.htmというページがあります。これはどのように可能ですか?ASP.NETはページを新しいURLにリダイレクトします

ありがとうございます!

答えて

1

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ファイルをハックすることができ

0

<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> 
0

あなたは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; 
    } 
} 
関連する問題