【问题标题】:Yii 1.1 CLinkPager generated uncomplete urlYii 1.1 CLinkPager 生成不完整的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 是一个数字

标签: php yii


【解决方案1】:

您的规则有问题,请将其替换为:

'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\w+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',

您尝试使用&lt;id:\d+&gt;,但\d 代表数字。所以你需要用\w(单词字符)替换它

【讨论】:

  • 小心,因为\w 只匹配单词字符。在这种情况下,car 将匹配您的规则,但 old-car - 不匹配。您可以使用[^\/]+ 代替\w+
猜你喜欢
  • 2014-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多