Yii 1.1.16 PHP路由规则有两个参数

时间:2015-01-21 08:37:21

标签: php url yii url-routing

我写了一个URL规则,如下所示:

'posts/<username:(\w+)>/<title:(\w+)>' => 'posts/view'

下面我也有默认规则:

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

它会像我期望的那样posts/kami/Post+title生成网址,但是当您点击链接时会出现错误:Error 404. The system is unable to find the requested action "kami".

所以我尝试在默认规则下移动规则,因为我猜测它们违反了我的规则,但是,如果我在默认规则下移动规则,它会创建不同的URL,如下所示:{{1} ,链接确实按预期工作,但我不喜欢它的样子。

任何人对如何解决这个问题都有任何想法?

谢谢!

1 个答案:

答案 0 :(得分:2)

尝试将规则更改为

'posts/<username:\w+>/<title:.*?>' => 'posts/view'

问题是\ w +只包括[a-zA-Z0-9_]。

+中的Post+title或空白)违反了规则