网址管理员yii

时间:2012-08-06 11:26:32

标签: php url url-rewriting yii

这些我已经添加了以下规则:

'search/do'=>'search/do',
'search/do/<town:.*?>'=>'search/do',
'search/do/<town:.*?>/<cat:.*?>'=>'search/do',
'search/do/<town:.*?>/<cat:.*?>/<scat:.*?>'=>'search/do',

网址搜索/操作&amp;搜索/做/芝加哥工作正常。但是搜索/做/芝加哥/餐馆给出了$ _GET ['cat']的错误(未定义索引猫

1 个答案:

答案 0 :(得分:5)

确保规则按特异性的递减顺序排列。首先应该有更具体的规则,然后是较小的规则:

'search/do/<town:.*?>/<cat:.*?>/<scat:.*?>'=>'search/do',
'search/do/<town:.*?>/<cat:.*?>'=>'search/do',
'search/do/<town:.*?>'=>'search/do',
'search/do'=>'search/do',

您的问题中的规则与chicago/restaurants匹配$_GET['town'],原因是第二条规则:'search/do/<town:.*?>'=>'search/do',并且未导航到第三条规则。所以你应该先具体具体。