请教Mvc3路由表及路由规则!

问题描述

publicstaticvoidRegisterRoutes(RouteCollectionroutes){routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.MapRoute("language",//路由名称"{language}/{controller}/{action}/{id}",//带有参数的URLnew{controller="Default",action="Index",id=UrlParameter.Optional}//参数默认值);routes.MapRoute("no-language",//路由名称"{controller}/{action}/{id}",//带有参数的URLnew{controller="Default",action="Index",id=UrlParameter.Optional}//参数默认值);}

在我输入www.123.com/zh-cn/Home/Index的时候能正常路由到Action!www.123.com/Home/index完全符合第二个路由规则可是为什么不给路由啊?如果第一个路由routes.MaoRoute与第二个routes.MapRoute位置互调就能路由这是为什么!求解答:(

解决方案

解决方案二:
该回复于2012-03-21 09:18:31被版主删除
解决方案三:
www.123.com/Home/index这个也符合第一个路由所以优先第一个
解决方案四:
匹配是按路由在路由表中的顺序先后来的,越在前优先级越高
解决方案五:
www.123.com/Home/index不符合第一个路由规则啊!像你说www.123.com/Home/index符合难道language这个参数可有可无啊!
解决方案六:
怎么不符合你action设置了默认值
解决方案七:
www.123.com/Home/index这个对路由来说少的是action不是language而且你第一个路由的action是设置了默认值的所以和第一个路由匹配
解决方案八:
不懂!我好好研究一下!有理有据有demo!

时间: 2024-07-31 06:12:31

请教Mvc3路由表及路由规则!的相关文章

omain oute-关于Asp.Net MVC5 Area 路由规则问题

问题描述 关于Asp.Net MVC5 Area 路由规则问题 请教一个mvc 路由的问题,我现在遇到一个路由规则的问题, 主站点域名domain.com和www.domain.com, area下有几个子站点, A目录-->a.domain.com, B目录-->b.domain.com, C目录-->c.domain.com, 并且a.domain.com还有3级域名,根据登录用户去区分, 比如X用户就是x.a.domain.com, Y用户就是y.a.domain.com,请问这样

关于Asp.Net MVC5 Area 路由规则问题

问题描述 请教一个mvc路由的问题,我现在遇到一个路由规则的问题,主站点域名domain.com和www.domain.com,area下有几个子站点,A目录-->a.domain.com,B目录-->b.domain.com,C目录-->c.domain.com,并且a.domain.com还有3级域名,根据登录用户去区分,比如X用户就是x.a.domain.com,Y用户就是y.a.domain.com,请问这样需要怎么去写?非常感谢.在网上找了一下,看到前辈写的DomainRout

thinkphp路由规则使用示例详解

 这篇文章主要介绍了thinkphp路由规则使用示例详解和伪静态功能实现(apache重写),需要的朋友可以参考下    代码如下: <?php  //thinkphp 路由定义规则   $route = array(   'news/:action/:yeard/:month/:day'=>'news/read?year=:2&month=:3&day=:4',     'news/:action^delete|update|insert/:yeard/:month/:day

mvc路由规则,做伪静态

问题描述 mvc路由规则,做伪静态 在路由规则里,写了这样几条规则: //分类路由 routes.MapRoute("category", "list/{filterAttr}-{cateId}-{brandId}-{filterPrice}-{onlyStock}-{sortColumn}-{sortDirection}-{page}.html", new { controller = "catalog", action = "cat

thinkphp学习笔记10—看不懂的路由规则

原文:thinkphp学习笔记10-看不懂的路由规则 路由这部分貌似在实际工作中没有怎么设计过,只是在用默认的设置,在手册里面看到部分,艰涩难懂.   1.路由定义 要使用路由功能需要支持PATH_INFO,PATH_INFO是什么呢?手册中提到"要使用路由功能,前提是你的URL支持PATH_INFO(或者兼容URL模式也可以,采用普通URL模式的情况下不支持路由功能)," , url支持path_info,不是apache要支持path_info么,度娘讲的还算清楚一点,见下文: p

ASP.NET MVC 路由规则XML化

最近由于工作关系,重新回顾了ASP.NET MVC 的 1.0 版本.2.0版本还没有研究. 由于MVC框架发展不久,还有很多不足的地方.其中关于路由规则配置这一块问题比较大.首先路由规则是在全局配置问价 Global.asax 的 Application_Start()事件中注册的. 代码public static void RegisterRoutes(Route Collection routes) { routes.IgnoreRoute("{resource}.axd/{*pathIn

请问MVC如何实现同一个站点不同的路由规则?

问题描述 站内其他路由都是使用常规的路由规则,如下{controller}/{action}/{id},new{controller="Home",action="Index",id=UrlParameter.Optional},但是首页我希望能够使用其他规则,比如我是一个多用户商城,域名后面直接跟一个商城的ID就表示进入了这个用户ID对应的商城,比如:www.xxxx.com/abc这样我想直接读取域名后面跟的参数,然后确认现在进入的是哪个用户的商城?请问路由应该

thinkphp的URL路由规则与配置实例_php实例

本文实例讲述了thinkphp的URL路由规则与配置方法.分享给大家供大家参考.具体分析如下: 一.URL规则 1.默认是区分大小写的 2.如果我们不想区分大小写可以改配置文件 复制代码 代码如下: 'URL_CASE_INSENSITIVE'=>true,//url不区分大小写 3.如果模块名为 UserGroupAction,那么url找模块就必要要写成 复制代码 代码如下: http://localhost/thinkphp4/index.php/user_group/index 4.如果

WORDPRESS参数传递和路由规则的例子

WordPress添加路由规则函数add_rewrite_rule,使用示例: PHP add_rewrite_rule( 'haha/([A-Za-z0-9]{1,})/?$','index.php?page_id=8&myname=$matches[1]', 'top' ); 这样url www.xx.com/haha/tuntun ,实际上就会访问 /index.php?page_id=8&myname=tuntun 但是在WP中这样的url通过$_GET['myname']是得不到