でデフォルトの数値ルートルート私はウェブサイトを持っていると私はMVC
/22 Redirect to
/user/22
などをしたいというように、しかし、そこに他のMVCのビューとコントローラがあり、それらすべてが無事に動作し、私は以下のルートが、そのないを使用していましたワーキング。
routes.MapRoute(
"Final",
"{id}",
new { controller = "Root", action = "Index"},
new { id = @"\d+" },
new string[] { "MyWebApp.Controllers" }
);
このルートは、url fragmentが数値の場合にのみ有効です。
私はMyWebApp.Controllers名前空間にもRootControllerを持っています。そして、それがないすべては、以下のように他のページにリダイレクトされ、それは昔のウェブサイトへのアップグレードであり、その公共および使用中のため、我々は、URLスキームを変更することはできませんので、
public class RootController : Controller
{
public ActionResult Index(long id) {
return RedirectPermanent("/user/" + id);
}
}
は今、私たちはこれをしなければなりません。
注:URL/user/22などは正しく動作していますが、このルートURLだけが問題を起こしています。
ルートを1つだけ有効にすると、ディレクトリの一覧が表示されます。代わりに/ user/22にリダイレクトされ、404エラーが出るはずです。 –
@AkashKava Redirect *と*は404を取得しますか?私はあなたのコメントを理解していない。 –
これはうまくいきました。すべてのルートを超えている必要がありました。また、私はIISエクスプレス設定でうんざりしていました。仮想ディレクトリが作成され、web.configと競合していました。 –