url路由的一个问题
$route['page/(:num)'] ='abc/def/$1';定义了之后,下面这些url形式全部显示的404
http://127.0.0.2/page
http://127.0.0.2/page/abc
http://127.0.0.2/page/5.6
http://127.0.0.2/page/-6
$route['page/(:num)']把有可能对程序造成影响的一些不合法参数全部过滤了?
这个用作对参数的处理可以不?大家都是怎么做的?
谢谢 用_remap不就得了,尽量少让程序跑正则
CI对这种page/1有内置的解决办法:
http://codeigniter.org.cn/user_guide/general/controllers.html#remapping 首先请理解$route['page/(:num)']的意思,(:num)的正则只是整型数字,而你访问的地址
http://127.0.0.2/page/abc
http://127.0.0.2/page/5.6
http://127.0.0.2/page/-6
并不符合规则,你访问的地址http://127.0.0.2/page 并没有符合条件的路由规则,不作处理,但你不存在page控制器,所以肯定会出现404错误 首先请理解$route['page/(:num)']的意思,(:num)的正则只是整型数字,而你访问的地址
并不符合规则,你 ...
haohailuo 发表于 2010-7-20 09:39 http://codeigniter.org.cn/forums/images/common/back.gif
多谢,明白这块的意思了。 用_remap不就得了,尽量少让程序跑正则
CI对这种page/1有内置的解决办法:
visvoy 发表于 2010-7-20 09:37 http://codeigniter.org.cn/forums/images/common/back.gif
$route['page/(:num)'] ='abc/def/$1';
按照上边的例子,版主的意思是在abc控制器里写一个_remap()方法,然后再检查这个方法?
没想明白意思...
谢谢 你进那个链接看看,像这种xx.com/page/123类型的url,CI有内部处理方案不用搞路由
function _remap($pageNumber){
if(is_int($pageNumber){
$this->分页
}
} 你进那个链接看看,像这种xx.com/page/123类型的url,CI有内部处理方案不用搞路由
function _remap($pageNu ...
visvoy 发表于 2010-7-20 11:14 http://codeigniter.org.cn/forums/images/common/back.gif
有点明白了
常规的结构是 控制器/方法/参数
xxx.com/page/123这种结构是 控制器/参数 形式的
这种结构,_remap就可以解决了,而不用uri路由去处理了。
版主是这个意思吧? 湿的
页:
[1]