Yii 1.1 CLinkPager 生成不完整的url
Posted
技术标签:
【中文标题】Yii 1.1 CLinkPager 生成不完整的url【英文标题】:Yii 1.1 CLinkPager generated uncomplete url 【发布时间】:2014-12-15 09:41:12 【问题描述】:我是 Yii 1.1 的新手。我在使用 CLinkPager 生成 url 时遇到问题。 正确的 url 是 http://example.com/read/group/car?page=2 [baseurl/controller/action/id?page_number] 但 yii 1.1 CLinkPager 生成了错误的 url (http://example.com/read/group?page=2) 并错过了 */car。
我的 config/main.php 是这样的
...
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/*<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
),
...
如何配置 yii 以获得正确的 url? 提前致谢。
【问题讨论】:
所以car
是id?这不起作用,因为您的规则说,id
是一个数字
【参考方案1】:
您的规则有问题,请将其替换为:
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\w+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
您尝试使用<id:\d+>
,但\d
代表数字。所以你需要用\w
(单词字符)替换它
【讨论】:
小心,因为\w
只匹配单词字符。在这种情况下,car
将匹配您的规则,但 old-car
- 不匹配。您可以使用[^\/]+
代替\w+
以上是关于Yii 1.1 CLinkPager 生成不完整的url的主要内容,如果未能解决你的问题,请参考以下文章
Gii 模型生成器错误 - 表不存在 - Yii 框架和 SQL Server 2000