2011-12-13 9 views
0

現在、.net c#Webアプリケーションを作成中です。私はサイトからいくつかの.aspxを削除した(削除した)。例えばpage1.aspx、page2.aspxなど。特定のページの404を防ぐためにhttpmoduleを設定する

私が今したいのは、page1.aspxまたはpage2.aspxが呼び出されたときにhttpモジュールを作成することです。ユーザーのブラウザでは、404ステータスコードを返す代わりに、削除されたページの適切なステータスコードを返し、エラーページではなくホームページをリダイレクトします。

これを達成する最良の方法は、httpモジュールを経由することですか?その場合、私はそのように設定しますか?

答えて

0

わずか数ページしかない場合は、Response.StatusCode = 410と簡単なwindow.location = basepageを付けておきます。

それは私があなたのアプリケーションのエラーハンドラでそれを置く大きくなる可能性があり、動的リストの場合:

protected void Application_Error(Object sender, EventArgs e) 
{ 
    if (/*requesting a deleted resource*/) 
    { 
     //return status 410 and a javascript redirect 
    } 
} 
0

私はこれが最善の方法だと思います。 実際には非常に簡単です。これをあなたのwebconfigに入れてください。

<customErrors mode="On" defaultRedirect="~/TheDefaultErrorPage.aspx"> 
    <error statusCode="404" redirect="The404ErrorPage.aspx"/> 
</customErrors> 

さらに、必要に応じてエラーを追加することも簡単です。

関連する問題