2

asp クラシック (.asp) を mvc4 に変換しています。サイトは問題ありませんが、レガシー ページを新しいルートにマップしようとすると、大きな失敗が発生します。

やりたいこと: default.asp から / または pageA.asp から /NewPageA

古いページをマップしようとすると、asp クラシック ハンドラーが最初にリクエストをインターセプトし、ページ .asp を見つけようとするように見えますが、存在しないため、404 エラーがスローされます。

マッピングが間違っていますか? 私のマッピングは次のようなものです:

routes.MapRoute("DefaultOld", "default.asp", new { controller = "Home", action = "IndexOld" });
routes.MapRoute("MenuOld", "menu.htm", new { controller = "Home", action = "IndexOld" });
routes.MapRoute("RecepcaoOld", "recepcao.htm", new { controller = "Home", action = "IndexOld" });
routes.MapRoute("EntradaPorOld", "entrada_por.htm", new { controller = "Home", action = "IndexOld" });

従来のページを無視し、mvc ルートがリクエストをインターセプトして本来の動作をするようにサーバーに指示することは可能ですか?

IIS7 を使用しています。

ここでこのソリューションを試しました (http://blog.abodit.com/2010/04/a-simple-redirect-route-handler-for-asp-net-3-5-routing/)、tp aspx をマップするために正常に動作しますページが表示されますが、asp や htm で使用しようとすると、まったく機能しません。それで、クラシック ASP のハンドラーを無効にする必要はないと思いますが、それは正しいですか? しかし、htm側では、StaticHandlerを無効にすると、画像とすべての静的リソースがうまく機能しませんよね?乾杯

4

0 に答える 0