在MVC的逻辑代码里,Controller和Action是必须的,但是在网址里,并不需要完全体现Controller和Action。比如我们经常希望看到http://localhost/About而不是http://localhost/Home/About。
默认的路由规则
新建MVC应用程序后,Global.asax里默认注册的路由规则是:
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults ); }
我们可以定义自己的路由规则。
定义短网址
我们定义一个可以用http://localhost/About等同于http://localhost/Home/About的路由规则:
routes.MapRoute( "ShortAbout", "About", new { controller = "Home", action="About" } );
此时访问http://localhost/About和http://localhost/Home/About是一样的。
以上语句只定义了一个短网址,为了普遍性,可以这样定义路由规则:
routes.MapRoute( "ActionOnly", "{action}/{id}", new { controller = "Home", action = "About", id = UrlParameter.Optional } );
为了减少对其他Controller下默认Action(URL无Action)的影响,可对Action作限制:
routes.MapRoute( "ActionOnly", "{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new { action = "About|Index" } );
以上所述是小编给大家介绍的Asp.net MVC定义短网址的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
主要使用场景: 开发者用于生成二维码的原链接(商品、支付二维码等)太长导致扫码速度和成功率下降,将原长链接通过此接口转成短链接再生成二维码将大大提升扫码速度和成功率。 长链接转短链接 $shortUrl = $app->url->shorten('https://easywechat.com'); // ( [errcode] => 0 [errmsg] => ok [sh
问题内容: 我正在寻找一个PHP函数,该函数可从字符串或文件中创建短哈希,类似于那些诸如tinyurl.com之类的URL缩短网站。 哈希不得超过8个字符。 问题答案: URL缩短服务宁可使用自动递增的整数值(例如补充数据库ID),并使用Base64或其他编码对其进行编码,以使每个字符具有更多信息(64而不是仅10个数字)。
问题内容: 我正在研究使用一种算法来缩短/加密URL的可能性,该URL的长度从150到250个字符到最大12个字符。最初,我怀疑是否有可能,但我想利用StackOverflow的出色思想:) 该算法应该是可以用经典的asp,sql,c#,vb或foxpro或其他语言编写的算法。 如果没有以数据库为中心的方法,那是否有可能? 我在这里阅读的内容是,CFB模式下的AES将执行流密码,并且输出长度将与输
在“第2.2节 浏览托管项目”一节介绍图形文件差异比较时,需要给出一个网址,但这个网址很长。如下: https://github.com/cameronmcefee/Image-Diff-View-Modes/commit/8e95f70c9c47168305970e91021072673d7cdad8 很自然地想到了Google短网址服务,于是由上面的长网址生成出一个短小精干的网址:http:/
本文向大家介绍python3实现短网址和数字相互转换的方法,包括了python3实现短网址和数字相互转换的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python3实现短网址和数字相互转换的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python程序设计有所帮助。
我正在尝试处理错误并为404,403等显示适当的页面。 为此,我制作了一个错误处理过滤器,它可以像预期的那样工作。也就是说,当我试图要求 mysite.com/Home/random_non-existent_action 用户被重定向到我的自定义404页面,并作为响应代码返回404。这同样适用于401和403。 我已经通过错误处理过滤器和在web上进行的修改实现了这一点。配置为: 这就是问题开始