urlRewrite 伪静态当第一个参数不是controller时候应如何处理?

#1 snaillv

已经是用speedphp做了好四五个项目了,最近又在做关于移动应用开发的项目,想做成这样的访问链接:http://www.example.com/1234/controller/action/的形式;也就是说访问的第一个参数不是controller,而是一个普通的id参数,第二个才是controller,第三个是action;这样可以实现吗?

请大家支支招,请jake大哥给个思路,谢谢了!

2013-01-07 13:25:37

#2 jake

要用到@映射,看手册http://www.speedphp.com/thread-3732-1-1.html 文章最后部分。

2013-01-07 21:16:14

#3 snaillv

谢谢jake大哥指点!我将@映射设置成如下形式了,但是只能够默认将http://www.example.com/1234/controller/action/的形式统一执行到webapp控制器下go方法下;要是想让http://www.example.com/1234/controller/action/的链接按照指定的controller和action来执行需要怎么设置呢?也就是http://www.example.com/1234/webapp/show/等形式怎么设置才能生效呢?
                        'spUrlRewrite' => array(
                                'suffix' => '',
                                'sep' => '/',
                                'map' => array(
                                        'download'=>'webapp@download',                               
                                        '@' => 'webapp@go',
                                ),
                                'args' => array(
                                         'download' => array('appid'),
                                         '@' => array('appid'),
                                ),
                        ),

2013-01-08 09:37:44

#4 jake

只有这样,@主要是针对这种情况做的特殊选择

2013-01-08 12:34:26