我有以下路线:
'http://' . $domain . '/community-board/<topicName:\w+(-\w+)>/<id:\d+>' => 'board-posts/index',
'http://' . $domain . '/community-board/<topicName:\w+(-\w+)>/<postName:\w+(-\w+)><id:\d+>' => 'board-posts/view',
第一个路由始终被触发,我无法访问第二个路由。在yii中有没有办法解决这个问题?
答案 0 :(得分:0)
首先,您可以删除http://' . $domain . '/
,除非您希望仅针对特定域启用此规则。
我在第二条规则中看到了可能的错误。路线community-board/topic-main/post-SO-question39163975
将按如下方式解析:
['topicName' => 'main', 'postName' => 'SO-question3916397', 'id' => 5]
我建议修改第二条规则中的正则表达式,如下所示:
community-board/<topicName:\w+(-\w+)>/<postName:\w+(-\w+?)><id:\d+>
(将?
添加到postName属性以使RegExp变为惰性)。改变之后:
['topicName' => 'main', 'postName' => 'SO-question', 'id' => 39163975]
我有检查规则,看不到任何其他问题。