Yii 1.1.16 PHP 带两个参数的路由规则
Yii 1.1.16 PHP routing rule with two parameters
我写了 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>',
它会生成 URL,正如我所期望的那样 posts/kami/Post+title
,但是当您单击 link 时,它会出现错误:Error 404. The system is unable to find the requested action "kami".
所以我尝试在默认规则下移动规则,因为我猜他们违反了我的规则,但是,如果我在默认规则下移动规则,它会创建不同的 URL,看起来像this: books/view?username=kami&title=Post+Title
,link 确实按预期工作,但我不喜欢它的外观。
有人知道如何解决这个问题吗?
谢谢!
尝试将规则更改为
'posts/<username:\w+>/<title:.*?>' => 'posts/view'
问题是\w+只包含[a-zA-Z0-9_]。
因此Post+title
中的+
(或空格)违反了规则
我写了 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>',
它会生成 URL,正如我所期望的那样 posts/kami/Post+title
,但是当您单击 link 时,它会出现错误:Error 404. The system is unable to find the requested action "kami".
所以我尝试在默认规则下移动规则,因为我猜他们违反了我的规则,但是,如果我在默认规则下移动规则,它会创建不同的 URL,看起来像this: books/view?username=kami&title=Post+Title
,link 确实按预期工作,但我不喜欢它的外观。
有人知道如何解决这个问题吗?
谢谢!
尝试将规则更改为
'posts/<username:\w+>/<title:.*?>' => 'posts/view'
问题是\w+只包含[a-zA-Z0-9_]。
因此Post+title
中的+
(或空格)违反了规则