spUrlRewrite使用问题

#1 homexigua

        //应用程序配置中需要使用到路由挂靠点以及spUrl挂靠点
        'launch' => array(
                'router_prefilter' => array(
                        array('spUrlRewrite', 'setReWrite'),
                ),
                   'function_url' => array(
                        array("spUrlRewrite", "getReWrite"),
              ),
        ),
        //对spUrlRewrite的配置
        'ext' => array(
                'spUrlRewrite' => array(
                        'hide_default' => false, // 隐藏默认的main/index名称,但这前提是需要隐藏的默认动作是无GET参数的
                        'args_path_info' => true, // 地址参数是否使用path_info的方式,默认否
                        'suffix' => '.html', // 生成地址的结尾符
                ),
        ),
设置如上,应用了分页。按如上设置显示的url为:http://localhost/main/edit.html/id/5 正常
但是我想显示:http://localhost/main/edit/id/5的时候,设置 'suffix' => '', // 生成地址的结尾符的时候就接收不到传过来的id了。如何解决?

2010-04-03 21:25:23

#2 jake

spUrlRewrite限制是一定要存在后缀名的,因为伪静态的形式多种多样,spUrlRewrite只能满足其中的几种。

比如说像DZ论坛的thread-317-1-1.html这种伪静态,就要另外一种处理才行了。

PS:spUrlReWrite是扩展类,所以可以按照其的形式,改写甚至是另外写出新的伪静态规则来,也是一种建议的做法。

2010-04-03 21:52:34