我已經設置了我的路線,以便在標準controller/action
風格中調用大多數類。但是,對於我的前端,我不希望用戶看到被調用的操作,因此所有前端頁面都有自己的控制器並使用索引操作。這些是我的路由器bootstrap:Kohana 3.2路線問題
Route::set('normal', '<controller>(/<action>(/<arguments>))',
array(
'arguments' => '.*'
))
->defaults(array(
'controller' => 'admin',
'action' => 'index',
));
Route::set('default', '(<controller>(/<arguments>))',
array(
'arguments' => '.*',
))
->defaults(array(
'controller' => 'home',
'action' => 'index',
));
我目前有三個前端頁面,home,about_us和services。如果我不通過URL傳遞任何參數,它們都會很好,但如果我嘗試通過URL將參數傳遞給參數,則會出現問題。在服務中,只有action_index()
才能顯示頁面,並檢查任何參數,並根據參數顯示結果。但是,如果我嘗試瀏覽/services/1
在1至作爲參數傳遞我得到這個404錯誤:
Kohana_HTTP_Exception [ 404 ]: The requested URL services/1 was not found on this server.
它只是使用了第一條路線,正常。一旦找不到動作,它甚至不會嘗試使用第二條路線,這將起作用。如果我交換路由的順序,那麼它可以工作,但是所有使用第一個控制器的其他類都停止工作,因爲我所有的操作都作爲參數傳遞給action_index()
。
我該如何得到這個工作?爲什麼當第一條路線不起作用時,Kohana不會繼續到第二條路線?
試試這個syntanx:'路線::集( '正常', '(/(/ (/ )))','和'路線: :set('default','(/ (/ ))',' –
DanR
2014-11-05 21:26:00