最近IIS6.net2.0からIIS7.5.net 4.0(ASP.Net Webフォーム)に移行したアプリケーションで問題が発生しています。
このコードは、global.asax Application_BeginRequestイベントでカスタムの書き換えを実行し、HttpContext.Current.RewritePath()メソッドを使用して書き換えを行います。
/kentest/test.blahのように、拡張子が付いた不正な要求(存在しないページ)が入ってくると、適切に処理されます。IISは、リダイレクト先のカスタムエラーページを適切に渡します。
/ kentest / testのようなファイル拡張子なしで不正な要求が届くと、IISはカスタムエラーページを適切に渡しません。IISが再帰500例外をスローするまで、同じ/ kentest/testを何度も書き換えるループに巻き込まれます。
これを解決し、拡張機能を使用せずにリクエストを取得する方法はありますか?
このブログ投稿で言及されているように、他の人はこの問題に遭遇したようですが、解決策は提供されていません。
この問題を解決した更新
ハンドラーセクションのweb.configに以下を追加する必要がありました。
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />