aspx サイトを MVC3 として書き直すプロジェクトに取り組んでいます。古い URL を新しいサイトで機能させたい。URL が実際にクエリ文字列に正しくルーティングするのに十分な情報を含むように、コントローラーとアクションに名前を付けましたが、? が好きではないため、ルーティングが機能しません。URLで。
基本的に、次のような古い URL があります。
www.example.com/Something/SomethingElse/MyPage.aspx?Section=DetailSection&TaskId=abcdef
以下を使用してルートを作成しようとしました。
routes.MapRoute(
"OldSite",
"Something/SomethingElse/MyPage.aspx?Section={action}Section&Id={id}",
new { controller = "Task", action = "Index", id = UrlParameter.Optional }
);
次の正しい新しい URL にルーティングする必要があります。
www.example.com/Task/Detail/abcdef
MyPage.aspx ページへのすべてのトラフィックは、新しいタスク コントローラーに送られるべきであり、Section パラメーターの先頭は常に、そのコントローラーのいくつかの対応するアクションの 1 つと一致することがわかっています。
残念ながら、ルートに疑問符を含めることはできないというエラーが表示されることがわかりました。これをどのように処理すればよいですか?URL 書き換えを使用した方が良いでしょうか? これは非公開のサイトであるため、永続的なリダイレクトなどを返すことには関心がありません。とにかく、サイトへのリンクを持つ検索エンジンはありません。古いメールに URL が記載されている顧客が、新しいサイトの正しいページにアクセスできるようにしたいだけです。