2013-05-10 55 views
0

我無法獲得一個帶可選參數的路由來在最後解析ID。下面是我的路線:Kohana路由與可選參數不匹配

Route::set('default', '<action>(/<id>)', array(
    'action' => '.*', 
    'id' => '\d+' 
))->defaults(array(
    'controller' => 'MediaLibrary', 
    'action' => 'index' 
)); 

當我看參數,可以獲取:

array(2) (
    "action" => string(7) "test/91" 
    "controller" => string(12) "MediaLibrary" 
) 

但是,如果我改變路線<action>/(<id>)它的工作原理。標識將沒有問題和行動進行解析將變更爲test而不是test/91

回答

0

它不工作,因爲action PARAM具有包羅萬象的正則表達式,嘗試將其更改爲[a-z0-9]+

Route::set('default', '<action>(/<id>)', 
    array(
     'action' => '[a-z0-9]+', 
     'id'  => '\d+' 
    )) 
    ->defaults(array(
     'controller' => 'MediaLibrary', 
     'action'  => 'index' 
    )); 
+0

我明白了。謝謝 – realshadow 2013-05-15 07:18:09