0

URL短縮サイトを作りたいです。私が提供する URLは、短い URL の値がexample.com/XXXどこに あるかのようなものです。XXX

ウェブサイトをオンにしたいのですexample.comが、URL はexample.com/xxxです。xxxURL から取得し、ユーザーをデータベース内の同等の URL にリダイレクトしたいと考えています。

これをどのように実装できますか?

4

2 に答える 2

2

たとえば、RouteConfig に新しいルートを作成します。

 public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute("empty",
                            "{id}",
                            new {controller = "Home", action = "Index", id = UrlParameter.Optional}
                );

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );

        }
    }

そして、インデックスに渡されたIDを使用してデータベースに移動するだけです

  public ActionResult Index(int id)
  {
        //Do Stuff with db
        return View();
  }

asp.net mvc のドキュメントはこちら

于 2013-01-03T14:49:23.883 に答える
1

デフォルトのコントローラーアクションで必要なリダイレクトを行う1つの方法。デフォルトでは、asp.net mvc では home/index です。

したがって、インデックスアクションでは、そのようなコードが必要です

public ActionResult Index(string id)
{
      var url = Db.GetNeededUrl(id);
      return Redirect(url);
}

したがって、ユーザーがそのようなアドレス site.com/NewYear を入力すると、データベースにある同等の URL にリダイレクトされます。

于 2013-01-03T14:42:45.740 に答える