这些我已经添加了以下规则:
'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']的错误(未定义索引猫)
答案 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',
并且未导航到第三条规则。所以你应该先具体具体。