2012-03-02 4 views
8

サーバーにasp.net Webアプリケーションがあります。私のサイトからすべてのカスタムエラーとサーバーエラーを回避したいのですが。私は上記のコード使用ウェブサイトのカスタム/サーバエラーを回避する方法は?

<customErrors mode="RemoteOnly" defaultRedirect="~/ErrorPage/TryAgainLater.aspx"> <error redirect="~/ErrorPage/PageNotFound.aspx" statusCode="404"/> </customErrors> 

を使用していたことについては

は、いくつかの問題を避けることができます。すなわち、

その後、私のサイトで利用できると仮定「http://Exaple.com/Careers.aspx」ページ

ケース1 http://Exaple.com/Careersss.aspx「それはルールの上あたりのように正しい仕事をしていました」。

ケース2 http://Exaple.com/[email protected]##Careersss.aspx "動作しない" 注:ここで私は

ケース3の特殊文字を追加します:http://Exaple.com/Careersss.aspxxxxは "動作しない" 注:追加キャラクター ".aspxの"

ケース4の後:http://Exaple.com/Careersss.aspx/[email protected][email protected][email protected] ! "ここで壊れない作品デザイン"。 注: '/'を特殊文字で追加してください。

ユーザがケース2,3,4を取得したときに助けてください。自動的にエラーページにリダイレクトされます。

ありがとうございます。

+1

だから何が問題なのですか?そしてそれはどのようにjavascriptに関連していますか? – kirilloid

+0

@kirilloid私はそれがハッシュ記号を使用している彼の2番目のケースと関係していると思っていますが、それは全く問題ではありません。 – treeface

+0

ここで私は不必要なURLを避けたいと思っています。 –

答えて

1

あなたはIISの設定を変更したくない場合は、404エラーのために独自のハンドラをインストールすることができますGlobal.asaxでそれは、問題が解決しないと、あなたはまだ404エラーページを取得している、あなたのweb.configファイルにこの設定を追加した場合

protected void Application_EndRequest(object sender, EventArgs e) 
{ 
    HttpResponse response = HttpContext.Current.Response; 
    if (response.StatusCode == 404 && response.SubStatusCode == 0) 
    { 
     response.Redirect("/test/TryAgainLater.aspx?error=NotFound"); 
     response.End(); 
    } 
} 

ただ、私たちのGlobal.asax.csコードビハインドファイルに、このメソッドを追加
<configuration> 
    <system.webServer> 
     <modules runAllManagedModulesForAllRequests="true"/> 
    </system.webServer> 
</configuration> 
関連する問題