wqcfyl 发表于 2011-9-1 09:27:24

CI 路由

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找不到页面。求高手写一个路由规则。。在线等,拜托了。很紧急的事情。谢谢。。

visvoy 发表于 2011-9-1 09:29:20

服务要支持pathinfo

wqcfyl 发表于 2011-9-1 09:29:36

追加一点,用$config['uri_protocol']      = "PATH_INFO";的那种方法不行。只能通过路由,有没有好的解决办法。。就是让 nihao.com/beijing/deal/dnffsyj?kn=abc&kb=123455 这段参数有或者没有都转向deal/current 执行返回这个页面

wqcfyl 发表于 2011-9-1 09:51:26

除了pathinfo之外,还有没有其他的解决办法

visvoy 发表于 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()里面爱怎么搞都可以了

wqcfyl 发表于 2011-9-1 11:39:08

3ks 版主
页: [1]
查看完整版本: CI 路由