2009-04-13 16 views
4

ASP.NETサイト内のすべての要求を〜/ Default.aspxにリダイレクトしてサイトを閉じます。私たちはIIS7を使用しています。サイトでは、ページを返すこのようなパスを持っていますIIS 7:すべての要求をDefault.aspxにリダイレクト

http://test.com/operating

私たちは、URL書き換えを使用しています。我々はnormaly web.configファイルに次のようなものを使用すると〜/ Default.aspxの

http://test.com// http://test.com/ .aspxの http://test.com// .aspxの

リダイレクトするのと同様の要求をしたいです:

<customErrors mode="On" defaultRedirect="Default.aspx"> 
     <error statusCode="404" redirect="Default.aspx" /> 
    </customErrors> 

これに伴う問題は、それがこの

のようなフォルダのURLをリダイレクトしないということです210

http://test.com/ */

ありがとうございます!

答えて

2

HttpRedirectを試しましたか? 最初に機能をインストールする必要があります。

+0

ありがとうございました!しかし、同じドメインにリダイレクトすることはできません。そうしないとリダイレクトは無限になります。しかしそれ以外はうまくいった!ありがとう – EtienneT

0

これ以上ファイルが存在しない場合はこれを行うことができます。

<system.webServer> 
    <httpErrors errorMode="Custom"> 
     <remove statusCode="404" subStatusCode="-1" /> 
     <error statusCode="404" prefixLanguageFilePath="" path="/Default.aspx" responseMode="ExecuteURL" /> 
    </httpErrors> 

3

あなたは、任意のASP.NETアプリケーションのルートにApp_Offline.htmという名前のファイルを配置することができます。この結果、ANY .NETのページ要求が発生し、要求されたページの代わりにhtmファイルの内容が出力されます。実際にはリダイレクトではありませんが、サイト全体をダウンさせる非常に簡単な方法です。必要な場合は、標準のメタリフレッシュを使用して、要求されたものを新しい場所に送信することもできます(同じサイト内のASPXファイルに保存しないでください)。

0

私はGlobal.asaxの中でこのような何かを書くと(心あなたは、それだけの例ではなく、生産対応コードです):

Application_BeginRequest(object sender, EventArgs e) { 
    if(!Request.Url.ToString().ToLowerInvariant().Contains("default.aspx")) { 
     Response.Redirect("Default.aspx"); 
    } 
} 

はまた、このコードはnon-ASP.NET要求を破るだろうと考えてアプリケーションが統合モードで実行されている場合(他の場合は、イメージなどの要求もリダイレクトされます)。

関連する問題