php – 在CodeIgniter中为(:any)路由
我正在尝试使我的CodeIgniter应用程序与WordPress类似.
我希望能够创建这些URL: 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 } 这似乎有点多余,因为我只想让CodeIgniter来处理这个问题.
您使用它的路由规则可以满足您的需要.
如果您使用http://www.example.com/admin/edit_page/3此链接,它将向您发送管理员控制器和edit_page方法.它不会使用路由任何规则. 但是,如果您的链接看起来像这样,您将遇到一个问题 http://www.example.com/my-post-example/test 它将尝试使用my-post-example控制器和测试方法. 再次http://www.example.com/admin将使用路由任何规则,这意味着它将重定向到核心控制器而不是admin / index.在这种情况下,您的网址应为http://www.example.com/admin/index 最后如果您使用控制器/方法名称调用其他链接,则可以使用任何规则 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |