我有兴趣在网站上创建“短 URL”一段网页。但是,这不是传统意义上的“短 URL”,如 bit.ly,它将重定向到不同的目标 URL。我希望短 URL 成为最终目的地。
例如,这些 URL 之一可能是 http://foo/a/Afjbg ,当您导航到它时,它会停留在 http://foo/a/Afjbg (IOW,http://foo/a/Afjbg 在地址栏中对用户可见)。
如果是静态内容,我只会将页面和文件夹排列成这些名称。但是我将在网站上拥有的内容将从数据库动态驱动,因此每个页面都是动态生成的。所以内容看起来在逻辑上不同,但实际上本质上是相同的带有动态内容的 .aspx 页面。
如何在 Microsoft 托管堆栈上实现这一点?该平台是带有 ASP.NET 4 的 IIS 7。我认为有一种方法可以轻松设置它,但是对于 MS 托管堆栈来说是新手,我不知道 :)
最佳答案
使用 ASP.NET MVC routing
它允许将任何 URL 模式路由到“页面”
例如
routes.MapRoute(
"Default", // Route name
"a/{id*}", // Route anything to this controller
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
https://stackoverflow.com/questions/5215035/