url分页有没有比较好的处理方式?(减少url层级)

想实现以下分页样式:


文章列表第1页: /list

文章列表第2页: /list/2

文章列表第100页: /list/100


写了以下两个url重写规则:


array(

‘/list’ => ‘list/index’,

‘/list/<page:\d*>’ => ‘list/index’,

);


此处需要两个正则,会消耗cpu资源,有没有用一个重写规则实现的方式呢?

可以合成

array(

‘/list/<page:\d*>|/list’ => ‘list/index’,

);

多谢 rickywu ,这个问题再延伸一下。

/list_t<type:\d*>/<page:\d*>

即: /list_t25 这样的网址如何做呢?

看看用下面这个。

‘/list_t<type:\d*>/<page:\d*>|/list_t<type:\d*>’=>‘list/index’

不好意思,这两个写法都是不对的。

第一个,可以解析生成的URL,本身生成的URL是不正确的。

第二个,不能生成也不能解析,直接生成500错误。

试验了一些其他的写法,都是不正确的,Yii的文档也没看到有其它的写法。

看来你还得用回原先的写法了:

array(

‘/list’ => ‘list/index’,

‘/list/<page:\d*>’ => ‘list/index’,

);

不知道有没有其它正确实现的方法,只是还没有被发掘出来?

还是现在的版本,暂时不提供这种支持呢?

期待正解。

页码就用GET参数不就行了,没必要放到url里吧