次の問題があります。これを再現してみてください。
1) MVC サイト ( IIS7 / NOT CASSINI ) を使用している場合、「example.com」は現在のアドレス「example.com/a/b」をナビゲートしようとします。
結果: (予想) カスタム 404 ページにリダイレクトされます。
2) このバグをもう一度 IIS7 で試して、正確にこのアドレスに移動します: "example.com/a/b/c/d/e/f/g/h"
結果: (エラー) mvc の原因は最初の 2 つのフォルダーのみをマップし、mvc によってインターセプトされずに IIS の 404 エラー ページが表示されます。
3) では、これを試してみましょう。ただし、Visual Studio 2010 以降での開発では、cassini または IIS7 Express を使用して、「localhost:1234/a/b/c/d/e/f/g/h」に移動します。
結果: 正しい 404 ページにリダイレクトされ、期待どおりに動作します。
すべてが同じソースを持ち、本番環境と開発環境で異なる動作をするのはなぜですか? これは IIS7 のバグですか、それとも解決する方法はありますか?