我試圖讓我的CodeIgniter應用程序與WordPress類似。在CodeIgniter中爲(:any)路由
我希望能夠讓這些類型的網址:
http://www.example.com/my-post-example
http://www.example.com/new-headline-here
http://www.example.com/i-love-stackoverflow
我的路由:
$route['(:any)'] = "core/index/$1";
它將調用我的核心控制器並將頁面名稱傳遞給索引函數。
然後,我在我的數據庫中查找頁面名稱並將頁面顯示給用戶。到現在爲止還挺好。
但是,有時我會打電話給另一個控制器。例如:
http://www.example.com/admin/edit_page/3
http://www.example.com/admin/settings
現在我認爲我的路線只會抓住所有這些規則,並將它們發送到我的核心控制器。有沒有辦法爲特定頁面設置例外?或者是在我的Core控制器內執行此檢查是一個好主意。
例如,
if ($page not in DB) {
// Call controller/method
}
這似乎有點多餘,因爲我只想笨來處理這個問題。
由於是OK!有沒有辦法匹配任何URL模式?包括/?所以管理員/編輯/大聲笑/會去核心/索引呢?或者我必須一直添加(:any)/(:any)/(:any)? – Oliwol
在你的'$ route ['(:any)'] =「core/index/$ 1」之前增加另一個規則;'rule'$ route ['admin/edit/lol'] =「core/index」;' –
如果我想將任何數據路由到該函數,如:admin/edit/lol => core/index以及admin/new/test => core/index。有沒有比添加每個規則更好的方法?像路由['admin /(:any)/(:any)'] - 但有可能將第3,第4和第5增加到無限。 – Oliwol