用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3246|回复: 5
收起左侧

[已解决] CI 路由

[复制链接]
发表于 2011-9-1 09:27:24 | 显示全部楼层 |阅读模式
config文件中设置
$config['uri_protocol']        = "AUTO";
$config['enable_query_strings'] = FALSE;

routes。php中
$route['(beijing)/deal/(:any)/r/(:any)'] = "deal/current/$2/$1/r/$3";
$route['(beijin)/deal/(:any)/i/(:any)'] = "deal/current/$2/$1/i/$3";
$route['(beijing)/deal/(:any)'] = "deal/current/$2/$1";

现在是这样的一种情况
nihao.com/beijing/deal/dnffsyj 这样访问是ok的。
但是现在的问题是我们做了一个百度的api的接口。百度会在返回的链接中添加两个参数
nihao.com/beijing/deal/dnffsyj?kn=abc&kb=123455   结果就出现404找不到页面。求高手写一个路由规则。。在线等,拜托了。很紧急的事情。谢谢。。
发表于 2011-9-1 09:29:20 | 显示全部楼层
服务要支持pathinfo
 楼主| 发表于 2011-9-1 09:29:36 | 显示全部楼层
追加一点,用  $config['uri_protocol']        = "PATH_INFO";的那种方法不行。只能通过路由,有没有好的解决办法。。就是让 nihao.com/beijing/deal/dnffsyj?kn=abc&kb=123455 这段参数有或者没有都转向  deal/current 执行返回这个页面
 楼主| 发表于 2011-9-1 09:51:26 | 显示全部楼层
除了pathinfo之外,还有没有其他的解决办法
发表于 2011-9-1 11:18:51 | 显示全部楼层
CI 2.0以后本身就支持 /beijing/deal/dnffsyj?kn=abc&kb=123455 这种形式的uri
问号后面的东西会自动放到$_GET里面,
楼主的问题根本不用route,uri改一下就可以了
/deal/dnffsyj/beijing?kn=abc&kb=123455
控制器=deal
方法=dnffsyj
uri segment 3=beijing
$_GET['kn']=abc

然后你在class Deal->function dnffsyj()里面爱怎么搞都可以了
 楼主| 发表于 2011-9-1 11:39:08 | 显示全部楼层
3ks 版主

本版积分规则